endif()
endif()
+if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+ if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "${GCC_MINIMUM_VERSION}")
+ message(FATAL_ERROR "Insufficient gcc version, found ${CMAKE_CXX_COMPILER_VERSION}. "
+ "Version ${GCC_MINIMUM_VERSION} or higher is required.")
+ endif()
+elseif(CMAKE_CXX_COMPILER_ID MATCHES "(Apple)?Clang")
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "${CLANG_MINIMUM_VERSION}")
+ message(FATAL_ERROR "Insufficient clang version, found ${CMAKE_CXX_COMPILER_VERSION}. "
+ "Version ${CLANG_MINIMUM_VERSION} or higher is required.")
+ endif()
+endif()
# Installation
find_package(Json REQUIRED)
find_package(Lua REQUIRED)
if(NOT USE_LUAJIT)
- set(LUA_BIT_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/bitop)
- set(LUA_BIT_LIBRARY bitop)
add_subdirectory(lib/bitop)
endif()
-if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
- if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "${GCC_MINIMUM_VERSION}")
- message(FATAL_ERROR "Insufficient gcc version, found ${CMAKE_CXX_COMPILER_VERSION}. "
- "Version ${GCC_MINIMUM_VERSION} or higher is required.")
- endif()
-elseif(CMAKE_CXX_COMPILER_ID MATCHES "(Apple)?Clang")
- if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "${CLANG_MINIMUM_VERSION}")
- message(FATAL_ERROR "Insufficient clang version, found ${CMAKE_CXX_COMPILER_VERSION}. "
- "Version ${CLANG_MINIMUM_VERSION} or higher is required.")
- endif()
-endif()
-
if(BUILD_BENCHMARKS)
add_subdirectory(lib/catch2)
endif()
# Be sure to add all relevant definitions above this
add_subdirectory(src)
-
# CPack
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A free open-source voxel game engine with easy modding and game creation.")
add_library(bitop STATIC bit.cpp)
-target_link_libraries(bitop)
+target_include_directories(bitop PRIVATE ${LUA_INCLUDE_DIR})
-include_directories(${LUA_INCLUDE_DIR})
+set(LUA_BIT_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)
+set(LUA_BIT_LIBRARY bitop PARENT_SCOPE)
# Use cmake_config.h
add_definitions(-DUSE_CMAKE_CONFIG_H)
+set(THREADS_PREFER_PTHREAD_FLAG ON)
+find_package(Threads REQUIRED)
+set(PLATFORM_LIBS Threads::Threads)
+
if(WIN32)
# Windows
if(MSVC) # MSVC Specifics
add_definitions(/D "_USE_MATH_DEFINES")
# Dont define min/max macros in minwindef.h
add_definitions(/D "NOMINMAX")
- else() # Probably MinGW = GCC
- set(PLATFORM_LIBS "")
endif()
set(PLATFORM_LIBS ws2_32.lib version.lib shlwapi.lib winmm.lib ${PLATFORM_LIBS})
endif(NOT HAIKU AND NOT APPLE)
endif()
- set(PLATFORM_LIBS -lpthread ${CMAKE_DL_LIBS})
+ set(PLATFORM_LIBS ${PLATFORM_LIBS} ${CMAKE_DL_LIBS})
if(APPLE)
set(PLATFORM_LIBS "-framework CoreFoundation" ${PLATFORM_LIBS})
else()