11##########################################################################################################
22#--Date: 2021.03.10
33#--Project: SolidRender
4- #--Author: xu xu
4+ #--Author: hubery.x.hsu
55#--Note:位于SolidRender顶级目录下面
66#--2021.10.03: 增加INSTALL项目,实现工程的自动安装功能
77# 今日对工程的生成目录做重大调整,以后禁止VS工程的路径与源码同目录
@@ -18,15 +18,16 @@ project(SolidDesigner VERSION 1.1.0 LANGUAGES CXX DESCRIPTION "SolidRender is
1818#-----------------------------------------------------------------------------
1919# 编译系统设置
2020#-----------------------------------------------------------------------------
21- # 指定是否使用编译器特定的扩展
22- set (CMAKE_CXX_EXTENSIONS OFF )
2321
2422#设置C++标准
25- set (CMAKE_CXX_STANDARDS 11 )
23+ set (CMAKE_CXX_STANDARD 17 )
2624
2725# 是否强制要求C++标准为${CMAKE_CXX_STANDARD},如果为OFF则可能使用旧的标准
2826set (CMAKE_CXX_STANDARD_REQUIRED YES )
2927
28+ # 指定是否使用编译器特定的扩展
29+ set (CMAKE_CXX_EXTENSIONS OFF )
30+
3031#VS /MT模式的设置
3132message ("The cmake source dir is:" )
3233message ("${CMAKE_SOURCE_DIR } " )
@@ -165,15 +166,42 @@ endif()
165166#-----------------------------------------------------------------------------
166167# 定义全局的链接路径
167168#-----------------------------------------------------------------------------
168- set (ALICE_LibDir, ${CMAKE_BINARY_DIR } /${Alice} /${Configuration} )
169+ message ("ALICE_LIB_DIR: " )
170+
171+ if (CMAKE_GENERATOR MATCHES "Visual Studio" )
172+ # VS: 有平台子目录(x64/Win32),并且是多配置
173+ set (ALICE_LIB_DIR "${CMAKE_BINARY_DIR } /${CMAKE_VS_PLATFORM_NAME} /$<CONFIG >" )
169174
175+ elseif (CMAKE_GENERATOR STREQUAL "Ninja Multi-Config" )
176+ # Ninja 多配置(CMake 3.17+)
177+ set (ALICE_LIB_DIR "${CMAKE_BINARY_DIR } /$<CONFIG >" )
170178
179+ elseif (CMAKE_GENERATOR STREQUAL "Ninja" )
180+ # Ninja 单配置:依赖 CMAKE_BUILD_TYPE
181+ # 例:cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug ..
182+ set (ALICE_LIB_DIR "${CMAKE_BINARY_DIR } /${CMAKE_BUILD_TYPE } " )
183+
184+ else ()
185+ # 其他生成器兜底:先按“多配置”判断
186+ if (CMAKE_CONFIGURATION_TYPES )
187+ set (ALICE_LIB_DIR "${CMAKE_BINARY_DIR } /$<CONFIG >" )
188+ else ()
189+ set (ALICE_LIB_DIR "${CMAKE_BINARY_DIR } /${CMAKE_BUILD_TYPE } " )
190+ endif ()
191+ endif ()
192+
193+ message ("${ALICE_LIB_DIR} " )
171194#-----------------------------------------------------------------------------
172195# 定义GNU标准的安装目录(GNUInstallDirs.cmake)
173196#-----------------------------------------------------------------------------
174197include (GNUInstallDirs )
175198set (CMAKE_INSTALL_LIBDIR "lib" )
176199
200+ #-----------------------------------------------------------------------------
201+ # 设置SPDLOG
202+ #-----------------------------------------------------------------------------
203+ set (SPDLOG_HEADER_ONLY ON CACHE BOOL "" FORCE )
204+ set (SPDLOG_FMT_EXTERNAL OFF CACHE BOOL "" FORCE )
177205
178206#-----------------------------------------------------------------------------
179207# 定义源代码的路径
0 commit comments