diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000000..5c1ed2174e --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,5 @@ +# Doomsday Engine +# Top-level CMakeLists + +cmake_minimum_required (VERSION 3.1) +add_subdirectory (doomsday) diff --git a/doomsday/cmake/PlatformUnix.cmake b/doomsday/cmake/PlatformUnix.cmake index f727a48833..3812705d61 100644 --- a/doomsday/cmake/PlatformUnix.cmake +++ b/doomsday/cmake/PlatformUnix.cmake @@ -21,16 +21,6 @@ add_definitions ( -D__USE_BSD -D_GNU_SOURCE=1 ) -if (DENG_BASE_DIR) - add_definitions (-DDENG_BASE_DIR="${DENG_BASE_DIR}") -else () - add_definitions (-DDENG_BASE_DIR="${CMAKE_INSTALL_PREFIX}/${DENG_INSTALL_DATA_DIR}") -endif () -if (NOT DENG_LIBRARY_DIR STREQUAL "") - add_definitions (-DDENG_LIBRARY_DIR="${DENG_LIBRARY_DIR}") -else () - add_definitions (-DDENG_LIBRARY_DIR="${CMAKE_INSTALL_PREFIX}/${DENG_INSTALL_PLUGIN_DIR}") -endif () if (DENG_UPDATER_PLATFORM) add_definitions (-DDENG_PLATFORM_ID="${DENG_UPDATER_PLATFORM}-${DENG_ARCH}") @@ -39,6 +29,10 @@ else () endif () if (CMAKE_COMPILER_IS_GNUCXX) + foreach (cxxOpt -Wno-deprecated-copy;-Wno-class-memaccess;-Wno-address-of-packed-member) + append_unique (CMAKE_CXX_FLAGS ${cxxOpt}) + endforeach (cxxOpt) + # The tree FRE optimization causes crashes with GCC 6 (Yakkety). append_unique (CMAKE_CXX_FLAGS_RELEASE -fno-tree-fre) append_unique (CMAKE_CXX_FLAGS_RELWITHDEBINFO -fno-tree-fre) diff --git a/doomsday/sdk/libcore/CMakeLists.txt b/doomsday/sdk/libcore/CMakeLists.txt index 14dc1aa89f..3c635b72fe 100644 --- a/doomsday/sdk/libcore/CMakeLists.txt +++ b/doomsday/sdk/libcore/CMakeLists.txt @@ -60,6 +60,23 @@ deng_add_library (libcore ${SOURCES} ${HEADERS}) target_include_directories (libcore PRIVATE ${ZLIB_INCLUDE_DIR}) deng_target_link_qt (libcore PUBLIC Core Network) target_link_libraries (libcore PUBLIC ${ZLIB_LIBRARIES}) +if (UNIX AND NOT APPLE) + if (DENG_BASE_DIR) + set (baseDir "${DENG_BASE_DIR}") + else () + set (baseDir "${CMAKE_INSTALL_PREFIX}/${DENG_INSTALL_DATA_DIR}") + endif () + if (DENG_LIBRARY_DIR) + set (libDir "${DENG_LIBRARY_DIR}") + else () + set (libDir "${CMAKE_INSTALL_PREFIX}/${DENG_INSTALL_PLUGIN_DIR}") + endif () + target_compile_definitions (libcore PUBLIC + -DDENG_BASE_DIR="${baseDir}" + -DDENG_LIBRARY_DIR="${libDir}" + ) +endif () + deng_deploy_library (libcore DengCore) deng_cotire (libcore src/precompiled.h)