From 125cccb9c7ea6deaac6b3c7cf6dd0dd5c778eda2 Mon Sep 17 00:00:00 2001 From: hyzboy Date: Thu, 22 Aug 2019 11:26:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B=E4=BD=BF=E7=94=A8=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=EF=BC=8C=E5=A2=9E=E5=8A=A0use=5Fcm=5Fmodule.cmake?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- compiler.cmake | 70 +++++++++++++++++++++------------------------ output_path.cmake | 49 +++++++++++++++---------------- system_bit.cmake | 51 ++++++++++++++++----------------- use_cm_module.cmake | 14 +++++++++ version.cmake | 33 ++++++++++----------- 5 files changed, 109 insertions(+), 108 deletions(-) diff --git a/compiler.cmake b/compiler.cmake index d7f5bca..2ad9a62 100644 --- a/compiler.cmake +++ b/compiler.cmake @@ -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}) diff --git a/output_path.cmake b/output_path.cmake index b435b2f..28c0db9 100644 --- a/output_path.cmake +++ b/output_path.cmake @@ -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() diff --git a/system_bit.cmake b/system_bit.cmake index cf0d8b3..cf0a807 100644 --- a/system_bit.cmake +++ b/system_bit.cmake @@ -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() diff --git a/use_cm_module.cmake b/use_cm_module.cmake index 9757e8a..6dca107 100644 --- a/use_cm_module.cmake +++ b/use_cm_module.cmake @@ -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() \ No newline at end of file diff --git a/version.cmake b/version.cmake index 090f70d..3c8f1a8 100644 --- a/version.cmake +++ b/version.cmake @@ -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()