X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2FCMakeLists.txt;h=9d9524eab3b7e6b38e1ab44f4da42460e0c59e95;hb=79799840a23b99aaf7f4af77a94ea4e9efcf5327;hp=de8e93e04f1bcd79e69809f7ef22a26569b82284;hpb=dd9e82f5bc2982abab436afdd68df799c6fdd857;p=dragonfireclient.git diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index de8e93e04..9d9524eab 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,20 +5,28 @@ if(RUN_IN_PLACE) add_definitions ( -DRUN_IN_PLACE ) endif(RUN_IN_PLACE) +if(NOT MSVC) + set(USE_GPROF 0 CACHE BOOL "Use -pg flag for g++") +endif() + # Use cmake_config.h add_definitions ( -DUSE_CMAKE_CONFIG_H ) if(WIN32) # Windows - # Surpress some useless warnings - add_definitions ( /D "_CRT_SECURE_NO_DEPRECATE" /W1 ) + if(MSVC) # MSVC Specifics + # Surpress some useless warnings + add_definitions ( /D "_CRT_SECURE_NO_DEPRECATE" /W1 ) + else() # Probably MinGW = GCC + set(PLATFORM_LIBS ws2_32.lib) + endif() # Zlib stuff set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../zlib/zlib-1.2.5" CACHE PATH "Zlib include directory") set(ZLIB_LIBRARIES "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.lib" - CACHE PATH "Path to zlibwapi.lib") + CACHE FILEPATH "Path to zlibwapi.lib") set(ZLIB_DLL "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.dll" - CACHE PATH "Path to zlibwapi.dll (for installation)") + CACHE FILEPATH "Path to zlibwapi.dll (for installation)") else() # Unix probably if(BUILD_CLIENT) @@ -31,7 +39,8 @@ else() find_package(ZLIB REQUIRED) set(PLATFORM_LIBS -lpthread) #set(CLIENT_PLATFORM_LIBS -lXxf86vm) - find_library(XXF86VM_LIBRARY, Xxf86vm) + # This way Xxf86vm is found on OpenBSD too + find_library(XXF86VM_LIBRARY Xxf86vm) set(CLIENT_PLATFORM_LIBS ${XXF86VM_LIBRARY}) endif() @@ -41,6 +50,9 @@ configure_file( ) set(common_SRCS + collision.cpp + nodemetadata.cpp + serverobject.cpp noise.cpp mineral.cpp porting.cpp @@ -66,18 +78,23 @@ set(common_SRCS test.cpp ) +# Client sources set(minetest_SRCS ${common_SRCS} + clientobject.cpp + guiFurnaceMenu.cpp guiMainMenu.cpp guiMessageMenu.cpp guiTextInputMenu.cpp guiInventoryMenu.cpp guiPauseMenu.cpp - irrlichtwrapper.cpp client.cpp + tile.cpp + game.cpp main.cpp ) +# Server sources set(minetestserver_SRCS ${common_SRCS} servermain.cpp @@ -88,17 +105,14 @@ include_directories( ${IRRLICHT_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} ${CMAKE_BUILD_TYPE} - "${PROJECT_SOURCE_DIR}/jthread" ${PNG_INCLUDE_DIR} + "${PROJECT_SOURCE_DIR}/jthread" ) set(EXECUTABLE_OUTPUT_PATH ../bin) -set(JTHREAD_LIBRARIES "jthread") -set(JTHREAD_SRCS "") - if(BUILD_CLIENT) - add_executable(minetest ${minetest_SRCS} ${JTHREAD_SRCS}) + add_executable(minetest ${minetest_SRCS}) target_link_libraries( minetest ${ZLIB_LIBRARIES} @@ -108,19 +122,19 @@ if(BUILD_CLIENT) ${BZIP2_LIBRARIES} ${PNG_LIBRARIES} ${X11_LIBRARIES} - ${JTHREAD_LIBRARIES} ${PLATFORM_LIBS} ${CLIENT_PLATFORM_LIBS} + jthread ) endif(BUILD_CLIENT) if(BUILD_SERVER) - add_executable(minetestserver ${minetestserver_SRCS} ${JTHREAD_SRCS}) + add_executable(minetestserver ${minetestserver_SRCS}) target_link_libraries( minetestserver ${ZLIB_LIBRARIES} - ${JTHREAD_LIBRARIES} ${PLATFORM_LIBS} + jthread ) endif(BUILD_SERVER) @@ -133,7 +147,8 @@ if(MSVC) # EHa enables SEH exceptions (used for catching segfaults) set(CMAKE_CXX_FLAGS_RELEASE "/EHa /MD /O2 /Ob2 /Oi /Ot /Oy /GL /FD /MT /GS- /arch:SSE /fp:fast /D NDEBUG /D _HAS_ITERATOR_DEBUGGING=0 /TP") - set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/LTCG /NODEFAULTLIB:\"libcmtd.lib\"") + #set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/LTCG /NODEFAULTLIB:\"libcmtd.lib\" /NODEFAULTLIB:\"libcmt.lib\"") + set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/LTCG") # Debug build doesn't catch exceptions by itself # Add some optimizations because otherwise it's VERY slow @@ -141,7 +156,7 @@ if(MSVC) if(BUILD_SERVER) set_target_properties(minetestserver PROPERTIES - COMPILE_FLAGS "/D SERVER") + COMPILE_DEFINITIONS "SERVER") endif(BUILD_SERVER) else() @@ -155,10 +170,14 @@ else() set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG ${WARNING_FLAGS} -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops") set(CMAKE_CXX_FLAGS_DEBUG "-g -O1 -Wall") + + if(USE_GPROF) + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -pg") + endif() if(BUILD_SERVER) set_target_properties(minetestserver PROPERTIES - COMPILE_FLAGS "-DSERVER") + COMPILE_DEFINITIONS "SERVER") endif(BUILD_SERVER) endif() @@ -170,6 +189,9 @@ endif() # Installation # +# Example configuration file +install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../minetest.conf.example" DESTINATION ${EXAMPLE_CONF_DIR}) + if(BUILD_CLIENT) install(TARGETS minetest DESTINATION ${BINDIR})