Skip to content

Commit 660ac3d

Browse files
committed
CMake: Support paths with spaces on Windows
1 parent 3569b95 commit 660ac3d

File tree

3 files changed

+18
-6
lines changed

3 files changed

+18
-6
lines changed

CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ message(STATUS "CMAKE_CXX_COMPILER: ${CMAKE_CXX_COMPILER}")
2222
message(STATUS "CMAKE_CXX_COMPILER_ID: ${CMAKE_CXX_COMPILER_ID}")
2323
message(STATUS "CMAKE_CXX_COMPILER_VERSION: ${CMAKE_CXX_COMPILER_VERSION}")
2424
message(STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
25+
message(STATUS "CMAKE_GENERATOR: ${CMAKE_GENERATOR}")
2526
message(STATUS "CMAKE_GENERATOR_PLATFORM: ${CMAKE_GENERATOR_PLATFORM}")
2627

2728
# set(CMAKE_VERBOSE_MAKEFILE ON)

CMakeSettings.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"configurationType": "Debug",
77
"buildRoot": "${projectDir}\\out\\build\\${name}",
88
"installRoot": "${projectDir}\\out\\install\\${name}",
9-
"cmakeCommandArgs": "-DMYSQL_INCLUDE_DIR=${projectDir}\\ext\\include\\mysql -DMYSQL_LIBRARY=${projectDir}\\ext\\lib\\libmariadb.lib",
9+
"cmakeCommandArgs": "-DMYSQL_INCLUDE_DIR=\"${projectDir}\\ext\\include\\mysql\" -DMYSQL_LIBRARY=\"${projectDir}\\ext\\lib\\libmariadb.lib\"",
1010
"buildCommandArgs": "",
1111
"ctestCommandArgs": "",
1212
"inheritEnvironments": [ "msvc_x86" ],
@@ -18,7 +18,7 @@
1818
"configurationType": "RelWithDebInfo",
1919
"buildRoot": "${projectDir}\\out\\build\\${name}",
2020
"installRoot": "${projectDir}\\out\\install\\${name}",
21-
"cmakeCommandArgs": "-DMYSQL_INCLUDE_DIR=${projectDir}\\ext\\include\\mysql -DMYSQL_LIBRARY=${projectDir}\\ext\\lib\\libmariadb.lib",
21+
"cmakeCommandArgs": "-DMYSQL_INCLUDE_DIR=\"${projectDir}\\ext\\include\\mysql\" -DMYSQL_LIBRARY=\"${projectDir}\\ext\\lib\\libmariadb.lib\"",
2222
"buildCommandArgs": "",
2323
"ctestCommandArgs": "",
2424
"inheritEnvironments": [ "msvc_x86" ],
@@ -30,7 +30,7 @@
3030
"configurationType": "Debug",
3131
"buildRoot": "${projectDir}\\out\\build\\${name}",
3232
"installRoot": "${projectDir}\\out\\install\\${name}",
33-
"cmakeCommandArgs": "-DMYSQL_INCLUDE_DIR=${projectDir}\\ext\\include\\mysql -DMYSQL_LIBRARY=${projectDir}\\ext\\lib64\\libmariadb64.lib",
33+
"cmakeCommandArgs": "-DMYSQL_INCLUDE_DIR=\"${projectDir}\\ext\\include\\mysql\" -DMYSQL_LIBRARY=\"${projectDir}\\ext\\lib64\\libmariadb64.lib\"",
3434
"buildCommandArgs": "",
3535
"ctestCommandArgs": "",
3636
"inheritEnvironments": [ "msvc_x64_x64" ],
@@ -42,7 +42,7 @@
4242
"configurationType": "RelWithDebInfo",
4343
"buildRoot": "${projectDir}\\out\\build\\${name}",
4444
"installRoot": "${projectDir}\\out\\install\\${name}",
45-
"cmakeCommandArgs": "-DMYSQL_INCLUDE_DIR=${projectDir}\\ext\\include\\mysql -DMYSQL_LIBRARY=${projectDir}\\ext\\lib64\\libmariadb64.lib",
45+
"cmakeCommandArgs": "-DMYSQL_INCLUDE_DIR=\"${projectDir}\\ext\\include\\mysql\" -DMYSQL_LIBRARY=\"${projectDir}\\ext\\lib64\\libmariadb64.lib\"",
4646
"buildCommandArgs": "",
4747
"ctestCommandArgs": "",
4848
"inheritEnvironments": [ "msvc_x64_x64" ],
@@ -54,7 +54,7 @@
5454
"configurationType": "Debug",
5555
"buildRoot": "${projectDir}\\out\\build\\${name}",
5656
"installRoot": "${projectDir}\\out\\install\\${name}",
57-
"cmakeCommandArgs": "-DMYSQL_INCLUDE_DIR=${projectDir}\\ext\\include\\mysql -DMYSQL_LIBRARY=${projectDir}\\ext\\lib64\\libmariadb64.lib -DTRACY_ENABLE=ON",
57+
"cmakeCommandArgs": "-DMYSQL_INCLUDE_DIR=\"${projectDir}\\ext\\include\\mysql\" -DMYSQL_LIBRARY=\"${projectDir}\\ext\\lib64\\libmariadb64.lib\" -DTRACY_ENABLE=ON",
5858
"buildCommandArgs": "",
5959
"ctestCommandArgs": "",
6060
"inheritEnvironments": [ "msvc_x64_x64" ],
@@ -66,7 +66,7 @@
6666
"configurationType": "RelWithDebInfo",
6767
"buildRoot": "${projectDir}\\out\\build\\${name}",
6868
"installRoot": "${projectDir}\\out\\install\\${name}",
69-
"cmakeCommandArgs": "-DMYSQL_INCLUDE_DIR=${projectDir}\\ext\\include\\mysql -DMYSQL_LIBRARY=${projectDir}\\ext\\lib64\\libmariadb64.lib -DTRACY_ENABLE=ON",
69+
"cmakeCommandArgs": "-DMYSQL_INCLUDE_DIR=\"${projectDir}\\ext\\include\\mysql\" -DMYSQL_LIBRARY=\"${projectDir}\\ext\\lib64\\libmariadb64.lib\" -DTRACY_ENABLE=ON",
7070
"buildCommandArgs": "",
7171
"ctestCommandArgs": "",
7272
"inheritEnvironments": [ "msvc_x64_x64" ],

cmake/Platform.cmake

+11
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
message(STATUS "CMAKE_SOURCE_DIR: ${CMAKE_SOURCE_DIR}")
2+
if(${CMAKE_SOURCE_DIR} MATCHES " +")
3+
set(STRIPPED_PATH "")
4+
STRING(REGEX REPLACE " +" "_" STRIPPED_PATH "${CMAKE_SOURCE_DIR}")
5+
6+
message(STATUS
7+
"Current path: ${CMAKE_SOURCE_DIR}\n"
8+
"Suggested path: ${STRIPPED_PATH}\n"
9+
"Your path contains spaces, this is not recommended.")
10+
endif()
11+
112
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
213
message(STATUS "CMAKE_SIZEOF_VOID_P == 8: 64-bit build")
314
set(platform_suffix "64")

0 commit comments

Comments
 (0)