diff options
-rw-r--r-- | CMakeLists.txt | 71 | ||||
-rw-r--r-- | PreLoad.cmake | 6 | ||||
-rw-r--r-- | externals/CMakeLists.txt | 6 | ||||
-rw-r--r-- | externals/ace/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/server/authserver/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/server/worldserver/CMakeLists.txt | 7 | ||||
-rw-r--r-- | src/tools/map_extractor/CMakeLists.txt | 11 | ||||
-rw-r--r-- | src/tools/vmap3_assembler/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/tools/vmap3_extractor/CMakeLists.txt | 12 |
9 files changed, 83 insertions, 39 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 86e51747b8e..5fa868e1792 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,9 +101,18 @@ endif() # if( PREFIX ) - set(CMAKE_INSTALL_PREFIX ${PREFIX}) + set(CMAKE_INSTALL_PREFIX "${PREFIX}") endif() +IF(WIN32) + IF(NOT CYGWIN) + IF(NOT CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX + "${CMAKE_BINARY_DIR}/bin") + ENDIF(NOT CMAKE_INSTALL_PREFIX) + ENDIF(NOT CYGWIN) +ENDIF(WIN32) + # # Handle debugmode compiles (this will require further work for proper WIN32-setups) # @@ -117,24 +126,28 @@ endif() # if( MSVC ) - # Set up MSVC to dump binaries in the <builddir>/bin/<buildtype>/ folder - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + # Set up MSVC to dump files in the <builddir>/bin/<buildtype>/ folder for testing builds before install + + # executable binaries (.exe-files) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) - set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + + # dynamic linked libraries (.dll) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + + # statically linked libraries - commented out as it's not needed - shown here as an example only + #set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) endif() # # Set default configuration-directory (used on NIX-based platforms only) # - if( NOT CONF_DIR ) set(CONF_DIR ${CMAKE_INSTALL_PREFIX}/etc) endif() set(LIBSDIR ${CMAKE_INSTALL_PREFIX}/lib) - ##### ##### Build-preparation ##### @@ -169,12 +182,12 @@ message("") # Output information about installation-directories and locations # +message("* Install core to : ${CMAKE_INSTALL_PREFIX}") if( UNIX ) - message("* Install core to : ${CMAKE_INSTALL_PREFIX}") message("* Install libraries to : ${LIBSDIR}") message("* Install configs to : ${CONF_DIR}") - message("") endif() +message("") # # Show infomation about the options selected during configuration @@ -186,11 +199,24 @@ else() message("* Build servers : No") endif() +if( GAMEPCH ) + message("* Build game w/PCH : Yes (default)") +else() + message("* Build game w/PCH : No") +endif() + if( SCRIPTS ) message("* Build with scripts : Yes (default)") add_definitions(-DSCRIPTS) else() message("* Build with scripts : No") + set(SCRIPTPCH 0) +endif() + +if( SCRIPTPCH ) + message("* Build scripts w/PCH : Yes (default)") +else() + message("* Build scripts w/PCH : No") endif() if( TOOLS ) @@ -209,18 +235,6 @@ else() message("* Build in debug-mode : No (default)") endif() -if( GAMEPCH ) - message("* Build game w/PCH : Yes (default)") -else() - message("* Build game w/PCH : No") -endif() - -if( SCRIPTPCH ) - message("* Build scripts w/PCH : Yes (default)") -else() - message("* Build scripts w/PCH : No") -endif() - if( WARNINGS ) message("* Show all warnings : Yes") if( UNIX ) @@ -294,15 +308,14 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH 1) # if( UNIX ) -configure_file( - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" - IMMEDIATE @ONLY -) - -add_custom_target(uninstall - "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" -) + configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" + IMMEDIATE @ONLY + ) + add_custom_target(uninstall + "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" + ) endif() # diff --git a/PreLoad.cmake b/PreLoad.cmake new file mode 100644 index 00000000000..bd6f0396584 --- /dev/null +++ b/PreLoad.cmake @@ -0,0 +1,6 @@ +IF(WIN32) + IF(NOT CYGWIN) + SET(CMAKE_INSTALL_PREFIX + "" CACHE PATH "Default install path") + ENDIF(NOT CYGWIN) +ENDIF(WIN32) diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index c0108e9c760..5d3a6684e03 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -10,6 +10,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux") add_subdirectory(jemalloc) + set(JEMALLOC_LIB "jemalloc") endif() if(CMAKE_SYSTEM_NAME MATCHES "Windows") @@ -21,7 +22,4 @@ endif() add_subdirectory(g3dlite) add_subdirectory(sockets) add_subdirectory(gsoap) - -# temporary disable libmpq building (through CMake at least) for now -# - needs a proper CMakeLists.txt -#add_subdirectory(libmpq) +add_subdirectory(libmpq) diff --git a/externals/ace/CMakeLists.txt b/externals/ace/CMakeLists.txt index add6d387f53..ee77a6fe91c 100644 --- a/externals/ace/CMakeLists.txt +++ b/externals/ace/CMakeLists.txt @@ -335,3 +335,5 @@ add_library(ace SHARED ${ace_STAT_SRCS}) if(PCH) add_native_precompiled_header(ace ${CMAKE_SOURCE_DIR}/externals/ace/PrecompiledHeaders/WinAcePCH) endif() + +install(TARGETS ace DESTINATION "${CMAKE_INSTALL_PREFIX}") diff --git a/src/server/authserver/CMakeLists.txt b/src/server/authserver/CMakeLists.txt index 6dc0089dddc..f3bfcdb78a1 100644 --- a/src/server/authserver/CMakeLists.txt +++ b/src/server/authserver/CMakeLists.txt @@ -98,4 +98,7 @@ endif() if( UNIX ) install(TARGETS authserver DESTINATION bin) install(FILES authserver.conf.dist DESTINATION etc) +elseif( WIN32 ) + install(TARGETS authserver DESTINATION "${CMAKE_INSTALL_PREFIX}") + install(FILES authserver.conf.dist DESTINATION "${CMAKE_INSTALL_PREFIX}") endif() diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt index eed999ccba7..d30d28f5b6f 100644 --- a/src/server/worldserver/CMakeLists.txt +++ b/src/server/worldserver/CMakeLists.txt @@ -180,7 +180,7 @@ else() collision g3dlib gsoap - jemalloc + ${JEMALLOC_LIB} ${SCRIPT_LIB} ${READLINE_LIBRARY} ${TERMCAP_LIBRARY} @@ -201,5 +201,8 @@ endif() if( UNIX ) install(TARGETS worldserver DESTINATION bin) - install(FILES worldserver.conf.dist DESTINATION etc) + install(FILES worldserver.conf.dist DESTINATION etc) +elseif( WIN32 ) + install(TARGETS worldserver DESTINATION "${CMAKE_INSTALL_PREFIX}") + install(FILES worldserver.conf.dist DESTINATION "${CMAKE_INSTALL_PREFIX}") endif() diff --git a/src/tools/map_extractor/CMakeLists.txt b/src/tools/map_extractor/CMakeLists.txt index 0d35421b9ef..ef333e9b285 100644 --- a/src/tools/map_extractor/CMakeLists.txt +++ b/src/tools/map_extractor/CMakeLists.txt @@ -13,6 +13,7 @@ file(GLOB_RECURSE sources *.cpp *.h) include_directories ( ${CMAKE_SOURCE_DIR}/src/server/shared + ${CMAKE_SOURCE_DIR}/externals/libmpq ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/loadlib ) @@ -23,16 +24,22 @@ add_executable(mapextractor if(WIN32) target_link_libraries(mapextractor - mpq bzip2 + zlib + mpq ) else() target_link_libraries(mapextractor - mpq ${BZIP2_LIBRARIES} + ${ZLIB_LIBRARIES} + mpq ) endif() +add_dependencies(mapextractor mpq) + if( UNIX ) install(TARGETS mapextractor DESTINATION bin) +elseif( WIN32 ) + install(TARGETS mapextractor DESTINATION "${CMAKE_INSTALL_PREFIX}") endif() diff --git a/src/tools/vmap3_assembler/CMakeLists.txt b/src/tools/vmap3_assembler/CMakeLists.txt index c920571c439..6d0a0d985ff 100644 --- a/src/tools/vmap3_assembler/CMakeLists.txt +++ b/src/tools/vmap3_assembler/CMakeLists.txt @@ -23,6 +23,8 @@ add_definitions(-DNO_CORE_FUNCS) add_executable(vmap3assembler VMapAssembler.cpp) +add_dependencies(vmap3assembler mpq) + if(WIN32) target_link_libraries(vmap3assembler collision @@ -39,4 +41,6 @@ endif() if( UNIX ) install(TARGETS vmap3assembler DESTINATION bin) +elseif( WIN32 ) + install(TARGETS vmap3assembler DESTINATION "${CMAKE_INSTALL_PREFIX}") endif() diff --git a/src/tools/vmap3_extractor/CMakeLists.txt b/src/tools/vmap3_extractor/CMakeLists.txt index b9604f4e165..1b58d46b988 100644 --- a/src/tools/vmap3_extractor/CMakeLists.txt +++ b/src/tools/vmap3_extractor/CMakeLists.txt @@ -20,22 +20,30 @@ add_definitions("-Wall") add_definitions("-ggdb") add_definitions("-O3") +include_directories( + ${CMAKE_SOURCE_DIR}/externals/libmpq +) + add_executable(vmap3extractor ${sources}) if(WIN32) target_link_libraries(vmap3extractor - mpq bzip2 zlib + mpq ) else() target_link_libraries(vmap3extractor - mpq ${BZIP2_LIBRARIES} ${ZLIB_LIBRARIES} + mpq ) endif() +add_dependencies(vmap3extractor mpq) + if( UNIX ) install(TARGETS vmap3extractor DESTINATION bin) +elseif( WIN32 ) + install(TARGETS vmap3extractor DESTINATION "${CMAKE_INSTALL_PREFIX}") endif() |