1616cmake_minimum_required (VERSION 3.14)
1717list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR} /cmake" )
1818list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR} /cmake/tools" )
19- project (CANOPEN VERSION 0.1 .0)
19+ project (COPEN VERSION 1.0 .0)
2020
2121# Default settings if this is the main project
22- if (CMAKE_PROJECT_NAME STREQUAL CANOPEN )
22+ if (CMAKE_PROJECT_NAME STREQUAL COPEN )
2323 include (CTest)
2424
2525 # Make option visible in ccmake, cmake-gui
2626 option (BUILD_SHARED_LIBS "Build shared library" OFF )
27+ option (COPEN_BUILD_DOCS "Build documentation" ON )
2728
2829 # Default to release build with debug info
2930 if (NOT CMAKE_BUILD_TYPE )
@@ -34,7 +35,7 @@ if (CMAKE_PROJECT_NAME STREQUAL CANOPEN)
3435
3536 # Default to installing in build directory
3637 if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
37- set (CMAKE_INSTALL_PREFIX ${CANOPEN_BINARY_DIR } /install
38+ set (CMAKE_INSTALL_PREFIX ${COPEN_BINARY_DIR } /install
3839 CACHE PATH "Default install path" FORCE)
3940 endif ()
4041
@@ -43,6 +44,7 @@ if (CMAKE_PROJECT_NAME STREQUAL CANOPEN)
4344 message (STATUS "Building for ${CMAKE_SYSTEM_NAME} " )
4445endif ()
4546
47+ include (CMakeDependentOption)
4648include (AddOsal)
4749include (GenerateExportHeader)
4850include (CMakeDependentOption)
@@ -115,103 +117,110 @@ set(CO_THREAD_PRIO "10"
115117set (CO_THREAD_STACK_SIZE "4096"
116118 CACHE STRING "stack size of main thread" )
117119
120+ cmake_dependent_option (COPEN_BUILD_TESTING
121+ "Build testing on ${PROJECT_NAME} " ON
122+ "BUILD_TESTING" OFF
123+ )
124+
118125# Generate version numbers
119126configure_file (
120127 version .h.in
121- ${CANOPEN_BINARY_DIR } /src/version .h
128+ ${COPEN_BINARY_DIR } /src/version .h
122129 )
123130
124131# Generate config options
125132configure_file (
126133 co_options.h.in
127- ${CANOPEN_BINARY_DIR } /include /co_options.h
134+ ${COPEN_BINARY_DIR } /include /co_options.h
128135 )
129136configure_file (
130137 options .h.in
131- ${CANOPEN_BINARY_DIR } /src/options .h
138+ ${COPEN_BINARY_DIR } /src/options .h
132139 )
133140
134141# Add platform-dependent targets early, so they can be configured by
135142# platform
136- add_library (canopen "" )
143+ add_library (copen "" )
137144add_executable (slave "" )
138145add_executable (slaveinfo "" )
139146
140- if (CMAKE_PROJECT_NAME STREQUAL CANOPEN AND BUILD_TESTING )
147+ if (COPEN_BUILD_TESTING )
141148 add_executable (co_test "" )
142149endif ()
143150
144151# Platform configuration
145152include (${CMAKE_CURRENT_SOURCE_DIR} /cmake/${CMAKE_SYSTEM_NAME} .cmake)
146153
147- generate_export_header(canopen
154+ generate_export_header(copen
148155 BASE_NAME co
149- EXPORT_FILE_NAME ${CANOPEN_BINARY_DIR } /include /co_export.h
156+ EXPORT_FILE_NAME ${COPEN_BINARY_DIR } /include /co_export.h
150157 )
151158
152- set_target_properties (canopen slave slaveinfo
159+ set_target_properties (copen slave slaveinfo
153160 PROPERTIES
154161 C_STANDARD 99
155162 )
156163
157- target_compile_features (canopen PUBLIC c_std_99)
164+ target_compile_features (copen PUBLIC c_std_99)
158165
159- target_include_directories (canopen
166+ target_include_directories (copen
160167 PUBLIC
161- $<BUILD_INTERFACE:${CANOPEN_SOURCE_DIR } /include >
162- $<BUILD_INTERFACE:${CANOPEN_BINARY_DIR } /include >
168+ $<BUILD_INTERFACE:${COPEN_SOURCE_DIR } /include >
169+ $<BUILD_INTERFACE:${COPEN_BINARY_DIR } /include >
163170 $<INSTALL_INTERFACE:include >
164171 PRIVATE
165- ${CANOPEN_BINARY_DIR } /src
172+ ${COPEN_BINARY_DIR } /src
166173 src
167174 )
168175
169- target_link_libraries (canopen PUBLIC osal)
176+ target_link_libraries (copen PUBLIC osal)
170177
171178install (
172- TARGETS canopen
173- EXPORT CanOpenConfig
179+ TARGETS copen
180+ EXPORT COpenConfig
174181 DESTINATION lib
175182 )
176183
177184install (
178- EXPORT CanOpenConfig
185+ EXPORT COpenConfig
179186 DESTINATION cmake
180187 )
181188
182189install (FILES
183190 include /co_api.h
184191 include /co_obj.h
185- ${CANOPEN_BINARY_DIR } /include /co_export.h
186- ${CANOPEN_BINARY_DIR } /include /co_options.h
192+ ${COPEN_BINARY_DIR } /include /co_export.h
193+ ${COPEN_BINARY_DIR } /include /co_options.h
187194 DESTINATION include
188195 )
189196
190197add_subdirectory (src)
191198add_subdirectory (util)
192199
193- if (CMAKE_PROJECT_NAME STREQUAL CANOPEN AND BUILD_TESTING )
200+ if (COPEN_BUILD_TESTING )
194201 add_subdirectory (test )
195202 include (AddGoogleTest)
196203 add_gtest(co_test)
197204endif ()
198205
199- if (CMAKE_PROJECT_NAME STREQUAL CANOPEN )
206+ if (COPEN_BUILD_DOCS )
200207 add_subdirectory (docs)
201208
202209 add_custom_target (codespell
203210 COMMAND codespell
204- ${CANOPEN_SOURCE_DIR } /include /
205- ${CANOPEN_SOURCE_DIR } /docs/
206- ${CANOPEN_SOURCE_DIR } /src/
207- ${CANOPEN_SOURCE_DIR } /test /
211+ ${COPEN_SOURCE_DIR } /include /
212+ ${COPEN_SOURCE_DIR } /docs/
213+ ${COPEN_SOURCE_DIR } /src/
214+ ${COPEN_SOURCE_DIR } /test /
208215 --skip *_build*
209216 COMMENT "Running spell check on source code"
210217 )
211218endif ()
212219
213220
214221include (InstallRequiredSystemLibraries)
215- set (CPACK_RESOURCE_FILE_LICENSE "${CANOPEN_SOURCE_DIR} /LICENSE.md" )
216- set (CPACK_PACKAGE_CONTACT
[email protected] )
222+ set (CPACK_RESOURCE_FILE_LICENSE "${COPEN_SOURCE_DIR} /LICENSE.md" )
223+ set (CPACK_PACKAGE_CONTACT
[email protected] )
224+ set (CPACK_PACKAGE_NAME c-open)
225+ set (CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME} -${CMAKE_SYSTEM_PROCESSOR} )
217226include (CPack)
0 commit comments