Skip to content

Commit 35fb87e

Browse files
committed
chore(cmake): standardize variable naming and packaging configuration
1 parent cc9c455 commit 35fb87e

11 files changed

Lines changed: 50 additions & 94 deletions

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ The complete API documentation is available online at:
187187
cmake .. -DCMAKE_BUILD_TYPE=Release -DNFX_STRINGBUILDER_BUILD_DOCUMENTATION=ON
188188

189189
# Build the documentation
190-
cmake --build . --target documentation
190+
cmake --build . --target nfx-stringbuilder-documentation
191191
```
192192

193193
#### Requirements

benchmark/CMakeLists.txt

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,17 @@ endif()
1515
# Benchmarks source files
1616
#----------------------------------------------
1717

18-
set(BENCHMARK_SOURCES)
18+
set(benchmark_sources)
1919

20-
list(APPEND BENCHMARK_SOURCES
20+
list(APPEND benchmark_sources
2121
BM_StringBuilder.cpp
2222
)
2323

2424
#----------------------------------------------
2525
# Configure benchmark executables
2626
#----------------------------------------------
2727

28-
foreach(benchmark_source ${BENCHMARK_SOURCES})
28+
foreach(benchmark_source ${benchmark_sources})
2929
get_filename_component(benchmark_target_name ${benchmark_source} NAME_WE)
3030
if(NOT TARGET ${benchmark_target_name})
3131
add_executable(${benchmark_target_name} ${benchmark_source})
@@ -39,15 +39,6 @@ foreach(benchmark_source ${BENCHMARK_SOURCES})
3939
benchmark::benchmark
4040
)
4141

42-
#----------------------------------------------
43-
# Enable specific CPU features
44-
#----------------------------------------------
45-
46-
target_compile_options(${benchmark_target_name} PRIVATE
47-
$<$<CXX_COMPILER_ID:MSVC>:/arch:AVX2>
48-
$<$<OR:$<CXX_COMPILER_ID:GNU>,$<CXX_COMPILER_ID:Clang>>:-msse4.2>
49-
)
50-
5142
#----------------------------------------------
5243
# Properties
5344
#----------------------------------------------

cmake/nfx-stringbuilder-config.cmake.in

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ set(NFX_STRINGBUILDER_VERSION_PATCH "@PROJECT_VERSION_PATCH@")
2626
set_and_check(NFX_STRINGBUILDER_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
2727
set_and_check(NFX_STRINGBUILDER_LIB_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@")
2828

29-
# Our library dependencies (none - self-contained library)
30-
3129
# Include the targets file
3230
include("${CMAKE_CURRENT_LIST_DIR}/nfx-stringbuilder-targets.cmake")
3331

cmake/nfxStringBuilderBuildConfig.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ include(GNUInstallDirs)
5959
# Directory configuration
6060
#----------------------------------------------
6161

62-
set(NFX_STRINGBUILDER_DIR "${PROJECT_SOURCE_DIR}" CACHE PATH "Root directory" )
62+
set(NFX_STRINGBUILDER_DIR "${PROJECT_SOURCE_DIR}" CACHE PATH "Root directory" )
6363
set(NFX_STRINGBUILDER_INCLUDE_DIR "${NFX_STRINGBUILDER_DIR}/include" CACHE PATH "Include directory")
6464
set(NFX_STRINGBUILDER_SOURCE_DIR "${NFX_STRINGBUILDER_DIR}/src" CACHE PATH "Source directory" )
6565

cmake/nfxStringBuilderDependencies.cmake

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
# nfx-stringbuilder - Dependencies configuration
33
#==============================================================================
44

5-
#----------------------------
5+
#----------------------------------------------
66
# Output configuration
7-
#----------------------------
7+
#----------------------------------------------
88

99
set(_SAVED_CMAKE_REQUIRED_QUIET ${CMAKE_REQUIRED_QUIET})
1010
set(_SAVED_CMAKE_MESSAGE_LOG_LEVEL ${CMAKE_MESSAGE_LOG_LEVEL})
@@ -83,9 +83,9 @@ if(NFX_STRINGBUILDER_BUILD_BENCHMARKS)
8383
endif()
8484
endif()
8585

86-
#----------------------------
86+
#----------------------------------------------
8787
# Dependency fetching
88-
#----------------------------
88+
#----------------------------------------------
8989

9090
if(NFX_STRINGBUILDER_BUILD_TESTS)
9191
if(NOT GTest_FOUND)
@@ -99,9 +99,9 @@ if(NFX_STRINGBUILDER_BUILD_BENCHMARKS)
9999
endif()
100100
endif()
101101

102-
#----------------------------
102+
#----------------------------------------------
103103
# Cleanup
104-
#----------------------------
104+
#----------------------------------------------
105105

106106
set(CMAKE_REQUIRED_QUIET ${_SAVED_CMAKE_REQUIRED_QUIET})
107107
set(CMAKE_MESSAGE_LOG_LEVEL ${_SAVED_CMAKE_MESSAGE_LOG_LEVEL})

cmake/nfxStringBuilderInstall.cmake

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,19 @@ install(
3939
# Install library targets
4040
#----------------------------------------------
4141

42-
set(INSTALL_TARGETS)
42+
set(install_targets)
4343

4444
if(NFX_STRINGBUILDER_BUILD_SHARED)
45-
list(APPEND INSTALL_TARGETS ${PROJECT_NAME})
45+
list(APPEND install_targets ${PROJECT_NAME})
4646
endif()
4747

4848
if(NFX_STRINGBUILDER_BUILD_STATIC)
49-
list(APPEND INSTALL_TARGETS ${PROJECT_NAME}-static)
49+
list(APPEND install_targets ${PROJECT_NAME}-static)
5050
endif()
5151

52-
if(INSTALL_TARGETS)
52+
if(install_targets)
5353
install(
54-
TARGETS ${INSTALL_TARGETS}
54+
TARGETS ${install_targets}
5555
EXPORT nfx-stringbuilder-targets
5656
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
5757
COMPONENT Development
@@ -173,4 +173,4 @@ if(NFX_STRINGBUILDER_BUILD_DOCUMENTATION)
173173
endif()
174174
endif()
175175

176-
message(STATUS "Installation configured for targets: ${INSTALL_TARGETS}")
176+
message(STATUS "Installation configured for targets: ${install_targets}")

cmake/nfxStringBuilderPackaging.cmake

Lines changed: 23 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ endif()
2121

2222
# --- Detect processor count for parallel packaging ---
2323
include(ProcessorCount)
24-
ProcessorCount(N)
25-
if(NOT N EQUAL 0)
26-
set(CPACK_THREADS ${N})
24+
ProcessorCount(processor_count)
25+
if(NOT processor_count EQUAL 0)
26+
set(CPACK_THREADS ${processor_count})
2727
else()
2828
set(CPACK_THREADS 1)
2929
endif()
@@ -90,6 +90,19 @@ set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "nfx-stringbuilder")
9090
# Platform-specific generators
9191
#----------------------------------------------
9292

93+
# --- Find packaging tools ---
94+
if(UNIX AND NOT APPLE)
95+
find_program(DPKG_CMD dpkg)
96+
find_program(RPM_CMD rpm)
97+
endif()
98+
99+
if(WIN32)
100+
if(NOT WIX_CANDLE OR NOT WIX_LIGHT)
101+
find_program(WIX_CANDLE NAMES candle.exe candle HINTS "$ENV{WIX}/bin")
102+
find_program(WIX_LIGHT NAMES light.exe light HINTS "$ENV{WIX}/bin")
103+
endif()
104+
endif()
105+
93106
# --- Generators ---
94107
if(NOT DEFINED CPACK_GENERATOR)
95108
set(CPACK_GENERATOR "")
@@ -105,7 +118,6 @@ if(NOT DEFINED CPACK_GENERATOR)
105118

106119
# --- DEB packages ---
107120
if(NFX_STRINGBUILDER_PACKAGE_DEB AND UNIX AND NOT APPLE)
108-
find_program(DPKG_CMD dpkg)
109121
if(DPKG_CMD)
110122
set(CPACK_GENERATOR "${CPACK_GENERATOR};DEB")
111123
else()
@@ -115,7 +127,6 @@ if(NOT DEFINED CPACK_GENERATOR)
115127

116128
# --- RPM packages ---
117129
if(NFX_STRINGBUILDER_PACKAGE_RPM AND UNIX AND NOT APPLE)
118-
find_program(RPM_CMD rpm)
119130
if(RPM_CMD)
120131
set(CPACK_GENERATOR "${CPACK_GENERATOR};RPM")
121132
else()
@@ -125,26 +136,11 @@ if(NOT DEFINED CPACK_GENERATOR)
125136

126137
# --- WiX packages ---
127138
if(NFX_STRINGBUILDER_PACKAGE_WIX AND WIN32)
128-
if(NOT WIX_CANDLE OR NOT WIX_LIGHT)
129-
set(WIX_SEARCH_PATHS
130-
"C:/Program Files (x86)/WiX Toolset v3.14/bin"
131-
"C:/Program Files (x86)/WiX Toolset v3.11/bin"
132-
"C:/Program Files (x86)/WiX Toolset v3.10/bin"
133-
"$ENV{WIX}bin"
134-
)
135-
136-
find_program(WIX_CANDLE NAMES candle.exe candle PATHS ${WIX_SEARCH_PATHS} NO_DEFAULT_PATH)
137-
find_program(WIX_LIGHT NAMES light.exe light PATHS ${WIX_SEARCH_PATHS} NO_DEFAULT_PATH)
138-
endif()
139-
140139
if(WIX_CANDLE AND WIX_LIGHT)
141140
set(CPACK_GENERATOR "${CPACK_GENERATOR};WIX")
142141
message(STATUS "WiX found: ${WIX_CANDLE} - Windows MSI installer generation enabled")
143142
else()
144-
message(STATUS "WiX not found - install WiX Toolset v3.x for MSI installer support")
145-
if(DEFINED WIX_SEARCH_PATHS)
146-
message(STATUS " Searched paths: ${WIX_SEARCH_PATHS}")
147-
endif()
143+
message(STATUS "WiX not found - install WiX Toolset and ensure WIX environment variable is set")
148144
endif()
149145
endif()
150146

@@ -162,13 +158,12 @@ message(STATUS " Output dir: ${CPACK_PACKAGE_DIRECTORY}")
162158

163159
if("DEB" IN_LIST CPACK_GENERATOR AND UNIX AND NOT APPLE)
164160
if(NOT DEFINED CPACK_DEBIAN_PACKAGE_ARCHITECTURE)
165-
find_program(DPKG_CMD dpkg)
166161
if(DPKG_CMD)
167162
execute_process(COMMAND ${DPKG_CMD} --print-architecture
168-
OUTPUT_VARIABLE DETECTED_DEB_ARCH
163+
OUTPUT_VARIABLE detected_deb_arch
169164
OUTPUT_STRIP_TRAILING_WHITESPACE
170165
ERROR_QUIET)
171-
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "${DETECTED_DEB_ARCH}")
166+
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "${detected_deb_arch}")
172167
endif()
173168
endif()
174169

@@ -178,10 +173,10 @@ endif()
178173
if("RPM" IN_LIST CPACK_GENERATOR AND UNIX AND NOT APPLE)
179174
if(NOT DEFINED CPACK_RPM_PACKAGE_ARCHITECTURE)
180175
execute_process(COMMAND uname -m
181-
OUTPUT_VARIABLE DETECTED_RPM_ARCH
176+
OUTPUT_VARIABLE detected_rpm_arch
182177
OUTPUT_STRIP_TRAILING_WHITESPACE
183178
ERROR_QUIET)
184-
set(CPACK_RPM_PACKAGE_ARCHITECTURE "${DETECTED_RPM_ARCH}")
179+
set(CPACK_RPM_PACKAGE_ARCHITECTURE "${detected_rpm_arch}")
185180
endif()
186181

187182
message(STATUS "RPM package architecture: ${CPACK_RPM_PACKAGE_ARCHITECTURE}")
@@ -203,12 +198,7 @@ if("DEB" IN_LIST CPACK_GENERATOR AND UNIX AND NOT APPLE)
203198
set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")
204199
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
205200
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${CPACK_PACKAGE_HOMEPAGE_URL})
206-
207-
# --- Core runtime dependencies ---
208-
set(DEB_DEPENDS "libc6, libstdc++6, libgcc-s1")
209-
210-
set(CPACK_DEBIAN_PACKAGE_DEPENDS "${DEB_DEPENDS}")
211-
message(STATUS "DEB dependencies: ${CPACK_DEBIAN_PACKAGE_DEPENDS}")
201+
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
212202
endif()
213203

214204
# --- RPM package settings ---
@@ -225,12 +215,7 @@ if("RPM" IN_LIST CPACK_GENERATOR AND UNIX AND NOT APPLE)
225215
set(CPACK_RPM_PACKAGE_VENDOR ${CPACK_PACKAGE_VENDOR})
226216
set(CPACK_RPM_PACKAGE_DESCRIPTION ${PROJECT_DESCRIPTION})
227217
set(CPACK_RPM_PACKAGE_URL ${CPACK_PACKAGE_HOMEPAGE_URL})
228-
229-
# --- Core runtime dependencies ---
230-
set(RPM_REQUIRES "glibc, libstdc++")
231-
232-
set(CPACK_RPM_PACKAGE_REQUIRES "${RPM_REQUIRES}")
233-
message(STATUS "RPM dependencies: ${CPACK_RPM_PACKAGE_REQUIRES}")
218+
set(CPACK_RPM_PACKAGE_AUTOREQ ON)
234219
endif()
235220

236221
#----------------------------------------------

cmake/nfxStringBuilderSources.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
# Source files
77
#----------------------------------------------
88

9-
set(PRIVATE_SOURCES)
9+
set(private_sources)
1010

11-
list(APPEND PRIVATE_SOURCES
11+
list(APPEND private_sources
1212
${NFX_STRINGBUILDER_SOURCE_DIR}/DynamicStringBufferPool.cpp
1313
${NFX_STRINGBUILDER_SOURCE_DIR}/StringBuilder.cpp
1414
)

cmake/nfxStringBuilderTargets.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ if(NFX_STRINGBUILDER_BUILD_SHARED)
1111
add_library(${PROJECT_NAME} SHARED)
1212
target_sources(${PROJECT_NAME}
1313
PRIVATE
14-
${PRIVATE_SOURCES}
14+
${private_sources}
1515
)
1616

1717
set_target_properties(${PROJECT_NAME} PROPERTIES
@@ -27,7 +27,7 @@ if(NFX_STRINGBUILDER_BUILD_STATIC)
2727
add_library(${PROJECT_NAME}-static STATIC)
2828
target_sources(${PROJECT_NAME}-static
2929
PRIVATE
30-
${PRIVATE_SOURCES}
30+
${private_sources}
3131
)
3232

3333
set_target_properties(${PROJECT_NAME}-static PROPERTIES

samples/CMakeLists.txt

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,17 @@ endif()
1515
# Samples source files
1616
#----------------------------------------------
1717

18-
set(SAMPLE_SOURCES)
18+
set(sample_sources)
1919

20-
list(APPEND SAMPLE_SOURCES
20+
list(APPEND sample_sources
2121
Sample_StringBuilder.cpp
2222
)
2323

2424
#----------------------------------------------
2525
# Configure samples executables
2626
#----------------------------------------------
2727

28-
foreach(sample_source ${SAMPLE_SOURCES})
28+
foreach(sample_source ${sample_sources})
2929
get_filename_component(sample_target_name ${sample_source} NAME_WE)
3030

3131
if(NOT TARGET ${sample_target_name})
@@ -39,15 +39,6 @@ foreach(sample_source ${SAMPLE_SOURCES})
3939
nfx-stringbuilder::static
4040
)
4141

42-
#----------------------------------------------
43-
# Enable specific CPU features
44-
#----------------------------------------------
45-
46-
target_compile_options(${sample_target_name} PRIVATE
47-
$<$<CXX_COMPILER_ID:MSVC>:/arch:AVX2>
48-
$<$<OR:$<CXX_COMPILER_ID:GNU>,$<CXX_COMPILER_ID:Clang>>:-msse4.2>
49-
)
50-
5142
#----------------------------------------------
5243
# Properties
5344
#----------------------------------------------

0 commit comments

Comments
 (0)