11cmake_minimum_required (VERSION 3.1...3.5)
22
3+ cmake_policy (SET CMP0077 NEW)
4+
35project (SPTK VERSION 4.3)
46
7+ option (SPTK_INSTALL "Install SPTK library" ON )
8+ option (SPTK_BUILD_COMMANDS "Build SPTK commands" ON )
9+
510if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
611 if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5.0)
712 message (FATAL_ERROR "require clang >= 3.5.0" )
@@ -213,37 +218,39 @@ target_include_directories(
213218include (GNUInstallDirs)
214219include (CMakePackageConfigHelpers)
215220
216- install (
217- TARGETS sptk
218- EXPORT ${PROJECT_NAME} Targets
219- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
220- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
221- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
222- INCLUDES
223- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
221+ if (SPTK_INSTALL)
222+ install (
223+ TARGETS sptk
224+ EXPORT ${PROJECT_NAME} Targets
225+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
226+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
227+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
228+ INCLUDES
229+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
224230
225- install (DIRECTORY ${PROJECT_SOURCE_DIR} /include /SPTK
226- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
231+ install (DIRECTORY ${PROJECT_SOURCE_DIR} /include /SPTK
232+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
227233
228- install (
229- EXPORT ${PROJECT_NAME} Targets
230- FILE ${PROJECT_NAME} Targets.cmake
231- NAMESPACE ${PROJECT_NAME} ::
232- DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/${PROJECT_NAME} )
234+ install (
235+ EXPORT ${PROJECT_NAME} Targets
236+ FILE ${PROJECT_NAME} Targets.cmake
237+ NAMESPACE ${PROJECT_NAME} ::
238+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/${PROJECT_NAME} )
233239
234- configure_package_config_file(
235- ${PROJECT_SOURCE_DIR} /Config.cmake.in
236- ${PROJECT_BINARY_DIR} /${PROJECT_NAME} Config.cmake
237- INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/${PROJECT_NAME} )
240+ configure_package_config_file(
241+ ${PROJECT_SOURCE_DIR} /Config.cmake.in
242+ ${PROJECT_BINARY_DIR} /${PROJECT_NAME} Config.cmake
243+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/${PROJECT_NAME} )
238244
239- write_basic_package_version_file(
240- ${PROJECT_BINARY_DIR} /${PROJECT_NAME} ConfigVersion.cmake
241- VERSION ${PROJECT_VERSION}
242- COMPATIBILITY SameMajorVersion)
245+ write_basic_package_version_file(
246+ ${PROJECT_BINARY_DIR} /${PROJECT_NAME} ConfigVersion.cmake
247+ VERSION ${PROJECT_VERSION}
248+ COMPATIBILITY SameMajorVersion)
243249
244- install (FILES ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} Config.cmake
245- ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} ConfigVersion.cmake
246- DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/${PROJECT_NAME} )
250+ install (FILES ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} Config.cmake
251+ ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} ConfigVersion.cmake
252+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /cmake/${PROJECT_NAME} )
253+ endif ()
247254
248255set (MAIN_SOURCES
249256 ${SOURCE_DIR} /main/acorr.cc
@@ -386,6 +393,17 @@ set(MAIN_SOURCES
386393 ${SOURCE_DIR} /main/zcross.cc
387394 ${SOURCE_DIR} /main/zerodf.cc)
388395
396+ if (SPTK_BUILD_COMMANDS)
397+ foreach (SOURCE ${MAIN_SOURCES} )
398+ get_filename_component (BIN ${SOURCE} NAME_WE )
399+ add_executable (${BIN} ${SOURCE} )
400+ target_link_libraries (${BIN} sptk)
401+ if (SPTK_INSTALL)
402+ install (TARGETS ${BIN} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )
403+ endif ()
404+ endforeach ()
405+ endif ()
406+
389407set (PYTHON_SOURCES
390408 ${SOURCE_DIR} /draw/fdrw.py
391409 ${SOURCE_DIR} /draw/glogsp.py
@@ -395,14 +413,7 @@ set(PYTHON_SOURCES
395413 ${SOURCE_DIR} /draw/gspecgram.py
396414 ${SOURCE_DIR} /draw/gwave.py)
397415
398- foreach (SOURCE ${MAIN_SOURCES} )
399- get_filename_component (BIN ${SOURCE} NAME_WE )
400- add_executable (${BIN} ${SOURCE} )
401- target_link_libraries (${BIN} sptk)
402- install (TARGETS ${BIN} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )
403- endforeach ()
404-
405- if (NOT WIN32 )
416+ if (NOT WIN32 AND SPTK_INSTALL)
406417 foreach (SOURCE ${PYTHON_SOURCES} )
407418 get_filename_component (BIN ${SOURCE} NAME_WE )
408419 execute_process (COMMAND ln -snf ${SOURCE}
0 commit comments