Skip to content

Commit

Permalink
refactored CMakeLists.txt to reuse cmake/PaxSetup.cmake
Browse files Browse the repository at this point in the history
  • Loading branch information
pmbittner committed Jan 25, 2021
1 parent a041d74 commit af94452
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 36 deletions.
34 changes: 4 additions & 30 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,12 @@ cmake_policy(SET CMP0091 NEW) # for specifying MSVC RuntimeLibrary
project(PaxEngine3)

### DEFINITIONS #########################################
set(PAX_BUILD_TYPE_RELEASE TRUE)
if (${CMAKE_BUILD_TYPE} MATCHES Release)
add_definitions(-DPAX_BUILD_TYPE_RELEASE)
message("BUILD TYPE is Release")
elseif(${CMAKE_BUILD_TYPE} MATCHES Debug)
set(PAX_BUILD_TYPE_RELEASE FALSE)
add_definitions(-DPAX_BUILD_TYPE_DEBUG)
message("BUILD TYPE is Debug")
endif(${CMAKE_BUILD_TYPE} MATCHES Release)

set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
set(PAX_LIB_DIR_RELATIVE ../pax3libs)
set(PAX_LIB_DIR ${CMAKE_SOURCE_DIR}/${PAX_LIB_DIR_RELATIVE})
include(cmake/PaxSetup.cmake)

### DETECT COMPILER #####################################
include(cmake/PaxCompilerDetection.cmake)
### CONFIGURE MSVC #####################################

if (WIN32 AND ${PAX_COMPILER_IS_MSVC})
if (PAX_BUILD_TYPE_RELEASE)
Expand All @@ -28,27 +18,13 @@ if (WIN32 AND ${PAX_COMPILER_IS_MSVC})
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDebugDLL")
endif()
message("Set MSVC RuntimeLibrary to ${CMAKE_MSVC_RUNTIME_LIBRARY}")

include_directories(${PAX_LIB_DIR}/win/include)
else()

endif()

### DETECT ARCHITECTURE #################################
include(cmake/PaxArchitectureDetection.cmake)

### FLAGS ###############################################
include(cmake/PaxFlagsDefinition.cmake)
set(CMAKE_CXX_STANDARD ${PAX_CXX_STANDARD})
set(CMAKE_CXX_STANDARD ${PAX_CXX_STANDARD_MINIMUM})
message("CMAKE_CXX_STANDARD is ${CMAKE_CXX_STANDARD}")


#message("CMAKE_CXX_FLAGS : ${CMAKE_CXX_FLAGS}")
#message("CMAKE_CXX_FLAGS_DEBUG : ${CMAKE_CXX_FLAGS_DEBUG}")
#message("CMAKE_CXX_FLAGS_RELEASE: ${CMAKE_CXX_FLAGS_RELEASE}")


### SOURCE FILES ########################################
### INCLUDES ########################################

include_directories(include)

Expand All @@ -62,10 +38,8 @@ message("=== Including Internal Libraries DONE ==============================")
include_directories(libs/Polypropylene/include)
add_definitions(-DPAX_WITH_JSON)


### SUBDIRECTORIES ######################################
add_subdirectory(src)


### PLUGINS #############################################
add_subdirectory(plugins)
12 changes: 6 additions & 6 deletions cmake/PaxFlagsDefinition.cmake
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# Defines:
#
# PAX_CXX_STANDARD
# PAX_CXX_STANDARD_MINIMUM
# CMAKE_CXX_FLAGS
# CMAKE_CXX_FLAGS_DEBUG
# CMAKE_CXX_FLAGS_RELEASE

set(PAX_CXX_STANDARD 17)
#add_definitions(-DPAX_CXX_STANDARD=${PAX_CXX_STANDARD})
set(PAX_CXX_STANDARD_MINIMUM 17)
#add_definitions(-DPAX_CXX_STANDARD=${PAX_CXX_STANDARD_MINIMUM})

if (WIN32)
message("Set flags for WIN32")
if (${PAX_COMPILER_IS_MSVC})
message(" and MSVC")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++${PAX_CXX_STANDARD} /Zc:__cplusplus")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++${PAX_CXX_STANDARD_MINIMUM} /Zc:__cplusplus")
# set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
# set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
#
Expand All @@ -30,11 +30,11 @@ if (WIN32)
# endforeach()
else(${PAX_COMPILER_IS_MSVC}) # condition for nested if
message(" but not MSVC")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static -std=c++${PAX_CXX_STANDARD}")# "-static-libgcc -static-libstdc++") #this may be wrong for unix
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static -std=c++${PAX_CXX_STANDARD_MINIMUM}")# "-static-libgcc -static-libstdc++") #this may be wrong for unix
endif(${PAX_COMPILER_IS_MSVC}) # condition for nested if
elseif(UNIX)
message("Set flags for UNIX")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++${PAX_CXX_STANDARD}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++${PAX_CXX_STANDARD_MINIMUM}")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address")
else(WIN32) # condition for nested if
message(WARNING "Platform not specified. Correct behaviour not guaranteed.")
Expand Down
10 changes: 10 additions & 0 deletions cmake/PaxSetup.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,13 @@ include_directories(${PAX3_DIR}/include)
if (WIN32 AND ${PAX_COMPILER_IS_MSVC})
include_directories(${PAX_LIB_DIR}/win/include)
endif()

set(PAX_BUILD_TYPE_RELEASE TRUE)
if (${CMAKE_BUILD_TYPE} MATCHES Release)
add_definitions(-DPAX_BUILD_TYPE_RELEASE)
message("BUILD TYPE is Release")
elseif(${CMAKE_BUILD_TYPE} MATCHES Debug)
set(PAX_BUILD_TYPE_RELEASE FALSE)
add_definitions(-DPAX_BUILD_TYPE_DEBUG)
message("BUILD TYPE is Debug")
endif(${CMAKE_BUILD_TYPE} MATCHES Release)

0 comments on commit af94452

Please sign in to comment.