改进使用方式,增加use_cm_module.cmake
This commit is contained in:
parent
f8a3ff0879
commit
125cccb9c7
@ -1,47 +1,43 @@
|
||||
macro(set_compiler_param)
|
||||
IF(WIN32)
|
||||
|
||||
IF(WIN32)
|
||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MDd")
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd")
|
||||
|
||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MDd")
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MDd")
|
||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MD")
|
||||
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
|
||||
|
||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MD")
|
||||
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++14")
|
||||
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++14")
|
||||
add_compile_options(/arch:AVX2)
|
||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||
|
||||
add_compile_options(/arch:AVX2)
|
||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||
|
||||
ELSE()
|
||||
IF(NOT ANDROID)
|
||||
IF(APPLE)
|
||||
SET(USE_CLANG ON)
|
||||
ELSE()
|
||||
OPTION(USE_CLANG OFF)
|
||||
ENDIF()
|
||||
|
||||
if(USE_CLANG)
|
||||
SET(CMAKE_C_COMPILER clang)
|
||||
SET(CMAKE_CXX_COMPILER clang++)
|
||||
endif()
|
||||
ELSE()
|
||||
IF(NOT ANDROID)
|
||||
IF(APPLE)
|
||||
SET(USE_CLANG ON)
|
||||
ELSE()
|
||||
OPTION(USE_CLANG OFF)
|
||||
ENDIF()
|
||||
|
||||
add_compile_options(-mavx)
|
||||
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11")
|
||||
|
||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb3")
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ggdb3")
|
||||
|
||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Ofast")
|
||||
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Ofast")
|
||||
if(USE_CLANG)
|
||||
SET(CMAKE_C_COMPILER clang)
|
||||
SET(CMAKE_CXX_COMPILER clang++)
|
||||
endif()
|
||||
ENDIF()
|
||||
|
||||
MESSAGE("C Compiler: " ${CMAKE_C_COMPILER})
|
||||
MESSAGE("C++ Compiler: " ${CMAKE_CXX_COMPILER})
|
||||
MESSAGE("C Flag: " ${CMAKE_C_FLAGS})
|
||||
MESSAGE("C++ Flag: " ${CMAKE_CXX_FLAGS})
|
||||
add_compile_options(-mavx)
|
||||
|
||||
endmacro()
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11")
|
||||
|
||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb3")
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ggdb3")
|
||||
|
||||
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Ofast")
|
||||
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Ofast")
|
||||
ENDIF()
|
||||
|
||||
MESSAGE("C Compiler: " ${CMAKE_C_COMPILER})
|
||||
MESSAGE("C++ Compiler: " ${CMAKE_CXX_COMPILER})
|
||||
MESSAGE("C Flag: " ${CMAKE_C_FLAGS})
|
||||
MESSAGE("C++ Flag: " ${CMAKE_CXX_FLAGS})
|
||||
|
@ -1,33 +1,30 @@
|
||||
macro(set_output_directory)
|
||||
|
||||
IF(ANDROID)
|
||||
SET(OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/out/android/${ANDROID_ABI})
|
||||
ELSEIF(IOS)
|
||||
SET(OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/out/iOS/${IOS_PLATFORM})
|
||||
ELSE()
|
||||
IF(WIN32)
|
||||
SET(USE_GUI ON)
|
||||
ENDIF()
|
||||
|
||||
SET(OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/out/${CMAKE_SYSTEM_NAME}_${HGL_BITS})
|
||||
IF(ANDROID)
|
||||
SET(OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/out/android/${ANDROID_ABI})
|
||||
ELSEIF(IOS)
|
||||
SET(OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/out/iOS/${IOS_PLATFORM})
|
||||
ELSE()
|
||||
IF(WIN32)
|
||||
SET(USE_GUI ON)
|
||||
ENDIF()
|
||||
|
||||
MESSAGE("SYSTEM NAME: " ${CMAKE_SYSTEM_NAME})
|
||||
MESSAGE("OUTPUT DIRECTORY: " ${OUTPUT_DIRECTORY})
|
||||
SET(OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/out/${CMAKE_SYSTEM_NAME}_${HGL_BITS})
|
||||
ENDIF()
|
||||
|
||||
SET(OUTPUT_DIRECTORY_DEBUG ${OUTPUT_DIRECTORY}_Debug)
|
||||
SET(OUTPUT_DIRECTORY_RELEASE ${OUTPUT_DIRECTORY}_Release)
|
||||
MESSAGE("SYSTEM NAME: " ${CMAKE_SYSTEM_NAME})
|
||||
MESSAGE("OUTPUT DIRECTORY: " ${OUTPUT_DIRECTORY})
|
||||
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY})
|
||||
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY})
|
||||
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY})
|
||||
SET(OUTPUT_DIRECTORY_DEBUG ${OUTPUT_DIRECTORY}_Debug)
|
||||
SET(OUTPUT_DIRECTORY_RELEASE ${OUTPUT_DIRECTORY}_Release)
|
||||
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${OUTPUT_DIRECTORY_DEBUG})
|
||||
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${OUTPUT_DIRECTORY_DEBUG})
|
||||
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${OUTPUT_DIRECTORY_DEBUG})
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY})
|
||||
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY})
|
||||
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY})
|
||||
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${OUTPUT_DIRECTORY_RELEASE})
|
||||
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${OUTPUT_DIRECTORY_RELEASE})
|
||||
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${OUTPUT_DIRECTORY_RELEASE})
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${OUTPUT_DIRECTORY_DEBUG})
|
||||
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${OUTPUT_DIRECTORY_DEBUG})
|
||||
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${OUTPUT_DIRECTORY_DEBUG})
|
||||
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${OUTPUT_DIRECTORY_RELEASE})
|
||||
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${OUTPUT_DIRECTORY_RELEASE})
|
||||
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${OUTPUT_DIRECTORY_RELEASE})
|
||||
|
||||
endmacro()
|
||||
|
@ -1,31 +1,28 @@
|
||||
macro(check_system_bits)
|
||||
|
||||
IF(APPLE)
|
||||
SET(HGL_BITS 64)
|
||||
ELSE()
|
||||
IF(ANDROID)
|
||||
if(ANDROID_ABI MATCHES ".*64.*")
|
||||
SET(HGL_BITS 64)
|
||||
else()
|
||||
SET(HGL_BITS 32)
|
||||
endif()
|
||||
ELSE()
|
||||
IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
SET(HGL_BITS 64)
|
||||
ELSE()
|
||||
SET(HGL_BITS 32)
|
||||
ENDIF()
|
||||
IF(APPLE)
|
||||
SET(HGL_BITS 64)
|
||||
ELSE()
|
||||
IF(ANDROID)
|
||||
if(ANDROID_ABI MATCHES ".*64.*")
|
||||
SET(HGL_BITS 64)
|
||||
else()
|
||||
SET(HGL_BITS 32)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
IF(HGL_BITS EQUAL 32)
|
||||
add_definitions(-DHGL_32_BITS)
|
||||
add_definitions(-DHGL_POINTER_UINT=uint32)
|
||||
ELSE()
|
||||
add_definitions(-DHGL_64_BITS)
|
||||
add_definitions(-DHGL_POINTER_UINT=uint64)
|
||||
ENDIF()
|
||||
IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
SET(HGL_BITS 64)
|
||||
ELSE()
|
||||
SET(HGL_BITS 32)
|
||||
ENDIF()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
Message("System is ${HGL_BITS} Bit")
|
||||
IF(HGL_BITS EQUAL 32)
|
||||
add_definitions(-DHGL_32_BITS)
|
||||
add_definitions(-DHGL_POINTER_UINT=uint32)
|
||||
ELSE()
|
||||
add_definitions(-DHGL_64_BITS)
|
||||
add_definitions(-DHGL_POINTER_UINT=uint64)
|
||||
ENDIF()
|
||||
|
||||
Message("System is ${HGL_BITS} Bit")
|
||||
|
||||
endmacro()
|
||||
|
@ -1,5 +1,19 @@
|
||||
include(compiler)
|
||||
include(system_bit)
|
||||
include(version)
|
||||
include(output_path)
|
||||
|
||||
macro(use_cm_module module)
|
||||
add_subdirectory(CM${module})
|
||||
include(CM${module}/path_config.cmake)
|
||||
include_directories(CM${module}/inc)
|
||||
endmacro()
|
||||
|
||||
macro(use_mgl mgl_path)
|
||||
add_definitions(-DMATH_USE_OPENGL)
|
||||
add_definitions(-DMATH_RIGHTHANDED_CAMERA)
|
||||
add_definitions(-DMATH_AVX)
|
||||
|
||||
include_directories(${mgl_path}/src)
|
||||
add_subdirectory(${mgl_path})
|
||||
endmacro()
|
@ -1,25 +1,22 @@
|
||||
macro(check_system_version)
|
||||
message("Host system: " ${CMAKE_HOST_SYSTEM})
|
||||
message("Host system name: " ${CMAKE_HOST_SYSTEM_NAME})
|
||||
message("Host system version: " ${CMAKE_HOST_SYSTEM_VERSION})
|
||||
|
||||
message("Host system: " ${CMAKE_HOST_SYSTEM})
|
||||
message("Host system name: " ${CMAKE_HOST_SYSTEM_NAME})
|
||||
message("Host system version: " ${CMAKE_HOST_SYSTEM_VERSION})
|
||||
message("Compile features: " ${CMAKE_CXX_COMPILE_FEATURES})
|
||||
message("Compile Flags: " ${CMAKE_C_FLAGS})
|
||||
message("C++ Compile Flags: " ${CMAKE_CXX_FLAGS})
|
||||
message("Build type: " ${CMAKE_BUILD_TYPE})
|
||||
|
||||
message("Compile features: " ${CMAKE_CXX_COMPILE_FEATURES})
|
||||
message("Compile Flags: " ${CMAKE_C_FLAGS})
|
||||
message("C++ Compile Flags: " ${CMAKE_CXX_FLAGS})
|
||||
message("Build type: " ${CMAKE_BUILD_TYPE})
|
||||
add_definitions(-DHGL_HOST_SYSTEM="${CMAKE_HOST_SYSTEM}")
|
||||
|
||||
add_definitions(-DHGL_HOST_SYSTEM="${CMAKE_HOST_SYSTEM}")
|
||||
add_definitions(-DHGL_COMPILE_C_FLAGS="${CMAKE_C_FLAGS}")
|
||||
add_definitions(-DHGL_COMPILE_CXX_FLAGS="${CMAKE_CXX_FLAGS}")
|
||||
|
||||
add_definitions(-DHGL_COMPILE_C_FLAGS="${CMAKE_C_FLAGS}")
|
||||
add_definitions(-DHGL_COMPILE_CXX_FLAGS="${CMAKE_CXX_FLAGS}")
|
||||
add_definitions(-DCMAKE_VERSION="${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}")
|
||||
|
||||
add_definitions(-DCMAKE_VERSION="${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}")
|
||||
MESSAGE("C Compile Features: " ${CMAKE_C_COMPILE_FEATURES})
|
||||
MESSAGE("C++ Compile Features: " ${CMAKE_CXX_COMPILE_FEATURES})
|
||||
|
||||
MESSAGE("C Compile Features: " ${CMAKE_C_COMPILE_FEATURES})
|
||||
MESSAGE("C++ Compile Features: " ${CMAKE_CXX_COMPILE_FEATURES})
|
||||
# add_definitions(-DHGL_COMPILE_C_FEATURES="${CMAKE_C_COMPILE_FEATURES}")
|
||||
# add_definitions(-DHGL_COMPILE_CXX_FEATURES="${CMAKE_CXX_COMPILE_FEATURES}")
|
||||
|
||||
# add_definitions(-DHGL_COMPILE_C_FEATURES="${CMAKE_C_COMPILE_FEATURES}")
|
||||
# add_definitions(-DHGL_COMPILE_CXX_FEATURES="${CMAKE_CXX_COMPILE_FEATURES}")
|
||||
|
||||
endmacro()
|
||||
|
Loading…
x
Reference in New Issue
Block a user