Skip to content

Commit 7d6eefd

Browse files
committed
fix(nx-cmake): use PROJECT_NAME in CMake files
1 parent f5199c7 commit 7d6eefd

File tree

10 files changed

+151
-150
lines changed

10 files changed

+151
-150
lines changed

e2e/e2e-nx-cmake/tests/nx-cmake.spec.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,6 @@ describe(plugin, () => {
6767
execCmd(`npm install ${plugin}`);
6868
});
6969

70-
afterAll(() => {
71-
// Cleanup the test project
72-
rmSync(projectDirectory, {
73-
recursive: true,
74-
force: true,
75-
});
76-
});
77-
7870
it('should be installed', () => {
7971
// npm ls will fail if the package is not installed properly
8072
execCmd(`npm ls ${plugin}`);

plugins/nx-cmake/src/generators/binary/generateBinFiles/generateBinFiles.spec.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,16 +69,17 @@ describe('generateBinFiles', () => {
6969
'\n' +
7070
`cmake_minimum_required(VERSION 3.21)\n` +
7171
'\n' +
72+
`set(PROJECT_NAME ${options.name})\n` +
7273
'set(PROJECT_TYPE BIN)\n' +
7374
`set(LANGUAGE CXX)\n` +
7475
'\n' +
75-
'set_project_settings(test ${CMAKE_CURRENT_SOURCE_DIR})\n' +
76+
`set_project_settings(\${PROJECT_NAME} \${CMAKE_CURRENT_SOURCE_DIR})\n` +
7677
'\n' +
77-
`project(${options.name} LANGUAGES \${LANGUAGE} VERSION \${${options.name}_VERSION})\n` +
78+
`project(\${PROJECT_NAME} LANGUAGES \${LANGUAGE} VERSION \${\${PROJECT_NAME}_VERSION})\n` +
7879
'\n' +
79-
`set_binary_settings(${options.name} \${CMAKE_CURRENT_SOURCE_DIR})\n` +
80+
`set_binary_settings(\${PROJECT_NAME} \${CMAKE_CURRENT_SOURCE_DIR})\n` +
8081
'\n' +
81-
`install(TARGETS ${options.name})\n`;
82+
`install(TARGETS \${PROJECT_NAME})\n`;
8283
expectedIncludeFile =
8384
'#ifndef _TEST_TEST\n' + '#define _TEST_TEST\n' + '\n' + '#endif\n';
8485
expectedReadMeFile =
@@ -133,16 +134,17 @@ describe('generateBinFiles', () => {
133134
'\n' +
134135
`cmake_minimum_required(VERSION 3.21)\n` +
135136
'\n' +
137+
`set(PROJECT_NAME ${options.name})\n` +
136138
'set(PROJECT_TYPE BIN)\n' +
137139
`set(LANGUAGE C)\n` +
138140
'\n' +
139-
'set_project_settings(test ${CMAKE_CURRENT_SOURCE_DIR})\n' +
141+
`set_project_settings(\${PROJECT_NAME} \${CMAKE_CURRENT_SOURCE_DIR})\n` +
140142
'\n' +
141-
`project(${options.name} LANGUAGES \${LANGUAGE} VERSION \${${options.name}_VERSION})\n` +
143+
`project(\${PROJECT_NAME} LANGUAGES \${LANGUAGE} VERSION \${\${PROJECT_NAME}_VERSION})\n` +
142144
'\n' +
143-
`set_binary_settings(${options.name} \${CMAKE_CURRENT_SOURCE_DIR})\n` +
145+
`set_binary_settings(\${PROJECT_NAME} \${CMAKE_CURRENT_SOURCE_DIR})\n` +
144146
'\n' +
145-
`install(TARGETS ${options.name})\n`;
147+
`install(TARGETS \${PROJECT_NAME})\n`;
146148
expectedReadMeFile =
147149
'# test\n' +
148150
'\n' +

plugins/nx-cmake/src/generators/binary/generateBinFiles/template/CMakeLists.txt.template

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@ include(cmake/version.cmake)
33

44
cmake_minimum_required(VERSION 3.21)
55

6+
set(PROJECT_NAME <%= name %>)
67
set(PROJECT_TYPE BIN)
78
set(LANGUAGE <%= cmakeC %>)
89

9-
set_project_settings(<%= name %> ${CMAKE_CURRENT_SOURCE_DIR})
10+
set_project_settings(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR})
1011

11-
project(<%= name %> LANGUAGES ${LANGUAGE} VERSION ${<%= name %>_VERSION})
12+
project(${PROJECT_NAME} LANGUAGES ${LANGUAGE} VERSION ${${PROJECT_NAME}_VERSION})
1213

13-
set_binary_settings(<%= name %> ${CMAKE_CURRENT_SOURCE_DIR})
14+
set_binary_settings(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR})
1415

15-
install(TARGETS <%= name %>)
16+
install(TARGETS ${PROJECT_NAME})

plugins/nx-cmake/src/generators/library/generateLibFiles/generateLibFiles.spec.ts

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -59,39 +59,40 @@ describe('generateLibFiles', () => {
5959
'\n' +
6060
'cmake_minimum_required(VERSION 3.21)\n' +
6161
'\n' +
62+
`set(PROJECT_NAME ${options.libName})\n` +
6263
'set(PROJECT_TYPE LIB)\n' +
6364
`set(LANGUAGE CXX)\n` +
6465
'\n' +
65-
`set_project_settings(${options.libName} \${CMAKE_CURRENT_SOURCE_DIR})\n` +
66+
`set_project_settings(\${PROJECT_NAME} \${CMAKE_CURRENT_SOURCE_DIR})\n` +
6667
'\n' +
67-
`project(${options.libName} LANGUAGES \${LANGUAGE} VERSION \${${options.libName}_VERSION})\n` +
68+
`project(\${PROJECT_NAME} LANGUAGES \${LANGUAGE} VERSION \${\${PROJECT_NAME}_VERSION})\n` +
6869
'\n' +
69-
`set_library_settings(${options.libName} \${CMAKE_CURRENT_SOURCE_DIR})\n` +
70+
`set_library_settings(\${PROJECT_NAME} \${CMAKE_CURRENT_SOURCE_DIR})\n` +
7071
'\n' +
7172
'include(GNUInstallDirs)\n' +
7273
'\n' +
73-
`set_library_install_destination(${options.libName})\n` +
74+
`set_library_install_destination(\${PROJECT_NAME})\n` +
7475
'\n' +
75-
`set_package_version(${options.libName} \${${options.libName}_VERSION})\n` +
76+
`set_package_version(\${PROJECT_NAME} \${\${PROJECT_NAME}_VERSION})\n` +
7677
'\n' +
7778
'configure_package_config_file(\n' +
78-
` cmake/${options.libName}Config.cmake.in\n` +
79-
` \${CMAKE_CURRENT_BINARY_DIR}/${options.libName}Config.cmake\n` +
80-
` INSTALL_DESTINATION \${${options.libName}_INSTALL_CMAKEDIR}\n` +
79+
` cmake/\${PROJECT_NAME}Config.cmake.in\n` +
80+
` \${CMAKE_CURRENT_BINARY_DIR}/\${PROJECT_NAME}Config.cmake\n` +
81+
` INSTALL_DESTINATION \${\${PROJECT_NAME}_INSTALL_CMAKEDIR}\n` +
8182
')\n' +
8283
'\n' +
8384
'export(\n' +
84-
` EXPORT ${options.libName}_Targets\n` +
85-
` NAMESPACE ${options.libName}::\n` +
86-
` FILE \${CMAKE_CURRENT_BINARY_DIR}/${options.libName}_Targets.cmake\n` +
85+
` EXPORT \${PROJECT_NAME}_Targets\n` +
86+
` NAMESPACE \${PROJECT_NAME}::\n` +
87+
` FILE \${CMAKE_CURRENT_BINARY_DIR}/\${PROJECT_NAME}_Targets.cmake\n` +
8788
')\n' +
8889
'\n' +
89-
`export(PACKAGE ${options.libName})\n` +
90+
`export(PACKAGE \${PROJECT_NAME})\n` +
9091
'\n' +
9192
'install(FILES\n' +
92-
` \${CMAKE_CURRENT_BINARY_DIR}/${options.libName}Config.cmake\n` +
93-
` \${CMAKE_CURRENT_BINARY_DIR}/${options.libName}ConfigVersion.cmake\n` +
94-
` DESTINATION \${${options.libName}_INSTALL_CMAKEDIR}\n` +
93+
` \${CMAKE_CURRENT_BINARY_DIR}/\${PROJECT_NAME}Config.cmake\n` +
94+
` \${CMAKE_CURRENT_BINARY_DIR}/\${PROJECT_NAME}ConfigVersion.cmake\n` +
95+
` DESTINATION \${\${PROJECT_NAME}_INSTALL_CMAKEDIR}\n` +
9596
')\n';
9697
expectedReadMeFile =
9798
'# libtest\n' +
@@ -153,39 +154,40 @@ describe('generateLibFiles', () => {
153154
'\n' +
154155
'cmake_minimum_required(VERSION 3.21)\n' +
155156
'\n' +
157+
`set(PROJECT_NAME ${options.libName})\n` +
156158
'set(PROJECT_TYPE LIB)\n' +
157159
`set(LANGUAGE C)\n` +
158160
'\n' +
159-
`set_project_settings(${options.libName} \${CMAKE_CURRENT_SOURCE_DIR})\n` +
161+
`set_project_settings(\${PROJECT_NAME} \${CMAKE_CURRENT_SOURCE_DIR})\n` +
160162
'\n' +
161-
`project(${options.libName} LANGUAGES \${LANGUAGE} VERSION \${${options.libName}_VERSION})\n` +
163+
`project(\${PROJECT_NAME} LANGUAGES \${LANGUAGE} VERSION \${\${PROJECT_NAME}_VERSION})\n` +
162164
'\n' +
163-
`set_library_settings(${options.libName} \${CMAKE_CURRENT_SOURCE_DIR})\n` +
165+
`set_library_settings(\${PROJECT_NAME} \${CMAKE_CURRENT_SOURCE_DIR})\n` +
164166
'\n' +
165167
'include(GNUInstallDirs)\n' +
166168
'\n' +
167-
`set_library_install_destination(${options.libName})\n` +
169+
`set_library_install_destination(\${PROJECT_NAME})\n` +
168170
'\n' +
169-
`set_package_version(${options.libName} \${${options.libName}_VERSION})\n` +
171+
`set_package_version(\${PROJECT_NAME} \${\${PROJECT_NAME}_VERSION})\n` +
170172
'\n' +
171173
'configure_package_config_file(\n' +
172-
` cmake/${options.libName}Config.cmake.in\n` +
173-
` \${CMAKE_CURRENT_BINARY_DIR}/${options.libName}Config.cmake\n` +
174-
` INSTALL_DESTINATION \${${options.libName}_INSTALL_CMAKEDIR}\n` +
174+
` cmake/\${PROJECT_NAME}Config.cmake.in\n` +
175+
` \${CMAKE_CURRENT_BINARY_DIR}/\${PROJECT_NAME}Config.cmake\n` +
176+
` INSTALL_DESTINATION \${\${PROJECT_NAME}_INSTALL_CMAKEDIR}\n` +
175177
')\n' +
176178
'\n' +
177179
'export(\n' +
178-
` EXPORT ${options.libName}_Targets\n` +
179-
` NAMESPACE ${options.libName}::\n` +
180-
` FILE \${CMAKE_CURRENT_BINARY_DIR}/${options.libName}_Targets.cmake\n` +
180+
` EXPORT \${PROJECT_NAME}_Targets\n` +
181+
` NAMESPACE \${PROJECT_NAME}::\n` +
182+
` FILE \${CMAKE_CURRENT_BINARY_DIR}/\${PROJECT_NAME}_Targets.cmake\n` +
181183
')\n' +
182184
'\n' +
183-
`export(PACKAGE ${options.libName})\n` +
185+
`export(PACKAGE \${PROJECT_NAME})\n` +
184186
'\n' +
185187
'install(FILES\n' +
186-
` \${CMAKE_CURRENT_BINARY_DIR}/${options.libName}Config.cmake\n` +
187-
` \${CMAKE_CURRENT_BINARY_DIR}/${options.libName}ConfigVersion.cmake\n` +
188-
` DESTINATION \${${options.libName}_INSTALL_CMAKEDIR}\n` +
188+
` \${CMAKE_CURRENT_BINARY_DIR}/\${PROJECT_NAME}Config.cmake\n` +
189+
` \${CMAKE_CURRENT_BINARY_DIR}/\${PROJECT_NAME}ConfigVersion.cmake\n` +
190+
` DESTINATION \${\${PROJECT_NAME}_INSTALL_CMAKEDIR}\n` +
189191
')\n';
190192
expectedReadMeFile =
191193
'# libtest\n' +

plugins/nx-cmake/src/generators/library/generateLibFiles/template/CMakeLists.txt.template

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,38 @@ include(cmake/version.cmake)
33

44
cmake_minimum_required(VERSION 3.21)
55

6+
set(PROJECT_NAME <%= libName %>)
67
set(PROJECT_TYPE LIB)
78
set(LANGUAGE <%= cmakeC %>)
89

9-
set_project_settings(<%= libName %> ${CMAKE_CURRENT_SOURCE_DIR})
10+
set_project_settings(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR})
1011

11-
project(<%= libName %> LANGUAGES ${LANGUAGE} VERSION ${<%= libName %>_VERSION})
12+
project(${PROJECT_NAME} LANGUAGES ${LANGUAGE} VERSION ${${PROJECT_NAME}_VERSION})
1213

13-
set_library_settings(<%= libName %> ${CMAKE_CURRENT_SOURCE_DIR})
14+
set_library_settings(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR})
1415

1516
include(GNUInstallDirs)
1617

17-
set_library_install_destination(<%= libName %>)
18+
set_library_install_destination(${PROJECT_NAME})
1819

19-
set_package_version(<%= libName %> ${<%= libName %>_VERSION})
20+
set_package_version(${PROJECT_NAME} ${${PROJECT_NAME}_VERSION})
2021

2122
configure_package_config_file(
22-
cmake/<%= libName %>Config.cmake.in
23-
${CMAKE_CURRENT_BINARY_DIR}/<%= libName %>Config.cmake
24-
INSTALL_DESTINATION ${<%= libName %>_INSTALL_CMAKEDIR}
23+
cmake/${PROJECT_NAME}Config.cmake.in
24+
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
25+
INSTALL_DESTINATION ${${PROJECT_NAME}_INSTALL_CMAKEDIR}
2526
)
2627

2728
export(
28-
EXPORT <%= libName %>_Targets
29-
NAMESPACE <%= libName %>::
30-
FILE ${CMAKE_CURRENT_BINARY_DIR}/<%= libName %>_Targets.cmake
29+
EXPORT ${PROJECT_NAME}_Targets
30+
NAMESPACE ${PROJECT_NAME}::
31+
FILE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_Targets.cmake
3132
)
3233

33-
export(PACKAGE <%= libName %>)
34+
export(PACKAGE ${PROJECT_NAME})
3435

3536
install(FILES
36-
${CMAKE_CURRENT_BINARY_DIR}/<%= libName %>Config.cmake
37-
${CMAKE_CURRENT_BINARY_DIR}/<%= libName %>ConfigVersion.cmake
38-
DESTINATION ${<%= libName %>_INSTALL_CMAKEDIR}
37+
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
38+
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
39+
DESTINATION ${${PROJECT_NAME}_INSTALL_CMAKEDIR}
3940
)

plugins/nx-cmake/src/generators/library/generateLibTestFiles/generateLibTestFiles.spec.ts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -103,22 +103,23 @@ describe('generateLibTestFiles', () => {
103103
'\n' +
104104
'cmake_minimum_required(VERSION 3.21)\n' +
105105
'\n' +
106+
`set(PROJECT_NAME ${resolvedOptions.testName})\n` +
106107
'set(PROJECT_TYPE TEST)\n' +
107108
'set(LANGUAGE C)\n' +
108109
'\n' +
109-
'set_project_settings(testtest ${CMAKE_CURRENT_SOURCE_DIR})\n' +
110+
'set_project_settings(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR})\n' +
110111
'\n' +
111-
'project(testtest LANGUAGES ${LANGUAGE})\n' +
112+
'project(${PROJECT_NAME} LANGUAGES ${LANGUAGE})\n' +
112113
'\n' +
113-
'set_binary_settings(testtest ${CMAKE_CURRENT_SOURCE_DIR})\n' +
114+
'set_binary_settings(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR})\n' +
114115
'\n' +
115116
'enable_testing()\n' +
116117
'\n' +
117118
'install_cmocka()\n' +
118119
'\n' +
119-
'link_cmocka(${CMAKE_PROJECT_NAME})\n' +
120+
'link_cmocka(${PROJECT_NAME})\n' +
120121
'\n' +
121-
'add_test(UnitTests testtest)\n';
122+
'add_test(UnitTests ${PROJECT_NAME})\n';
122123

123124
expectedReadMeFile =
124125
'# testtest\n' +
@@ -190,23 +191,24 @@ describe('generateLibTestFiles', () => {
190191
'\n' +
191192
'cmake_minimum_required(VERSION 3.21)\n' +
192193
'\n' +
194+
`set(PROJECT_NAME ${resolvedOptions.testName})\n` +
193195
'set(PROJECT_TYPE TEST)\n' +
194196
'set(LANGUAGE CXX)\n' +
195197
'\n' +
196-
'set_project_settings(testtest ${CMAKE_CURRENT_SOURCE_DIR})\n' +
198+
'set_project_settings(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR})\n' +
197199
'\n' +
198-
'project(testtest LANGUAGES ${LANGUAGE})\n' +
200+
'project(${PROJECT_NAME} LANGUAGES ${LANGUAGE})\n' +
199201
'\n' +
200-
'set_binary_settings(testtest ${CMAKE_CURRENT_SOURCE_DIR})\n' +
202+
'set_binary_settings(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR})\n' +
201203
'\n' +
202204
'enable_testing()\n' +
203205
'\n' +
204206
'install_gtest()\n' +
205207
'\n' +
206-
'link_gtest(${CMAKE_PROJECT_NAME})\n' +
208+
'link_gtest(${PROJECT_NAME})\n' +
207209
'\n' +
208210
'include(GoogleTest)\n' +
209-
'gtest_discover_tests(testtest)\n';
211+
'gtest_discover_tests(${PROJECT_NAME})\n';
210212

211213
expectedReadMeFile =
212214
'# testtest\n' +

plugins/nx-cmake/src/generators/library/generateLibTestFiles/template/CMakeLists.txt.template

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,24 @@ include(<%= relativeRootPath %><%= cmakeConfigDir %>/<%= workspaceName %>.cmake)
22

33
cmake_minimum_required(VERSION 3.21)
44

5+
set(PROJECT_NAME <%= testName %>)
56
set(PROJECT_TYPE TEST)
67
set(LANGUAGE <%= cmakeC %>)
78

8-
set_project_settings(<%= testName %> ${CMAKE_CURRENT_SOURCE_DIR})
9+
set_project_settings(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR})
910

10-
project(<%= testName %> LANGUAGES ${LANGUAGE})
11+
project(${PROJECT_NAME} LANGUAGES ${LANGUAGE})
1112

12-
set_binary_settings(<%= testName %> ${CMAKE_CURRENT_SOURCE_DIR})
13+
set_binary_settings(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR})
1314

1415
enable_testing()
1516

1617
install_<%= testLib %>()
1718

18-
link_<%= testLib %>(${CMAKE_PROJECT_NAME})
19+
link_<%= testLib %>(${PROJECT_NAME})
1920
<% if (testLib === 'gtest') { %>
2021
include(GoogleTest)
21-
gtest_discover_tests(<%= testName %>)<%
22+
gtest_discover_tests(${PROJECT_NAME})<%
2223
} else { %>
23-
add_test(UnitTests <%= testName %>)<%
24+
add_test(UnitTests ${PROJECT_NAME})<%
2425
} %>

0 commit comments

Comments
 (0)