I am learning CMake by CMake Tutorial. When I learn Step 9: Packaging an Installer, I meet some question. When use cpack -G WIX -C Debug
command in the Windows, the error as title descripted will appear.
This is some part of my CMakeLists.txt
file:
cmake_minimum_required(VERSION 3.2)
project(Tutorial)
set(Tutorial_VERSION_MAJOR 1)
set(Tutorial_VERSION_MINOR 0)
option(USE_MYMATH
"Use tutorial provide math implementation" ON)
configure_file(${PROJECT_SOURCE_DIR}/TutorialConfig.h.in
${PROJECT_BINARY_DIR}/TutorialConfig.h)
include_directories(${PROJECT_BINARY_DIR})
if(USE_MYMATH)
include_directories(${PROJECT_SOURCE_DIR}/MathFunctions)
add_subdirectory(MathFunctions)
set (EXTRA_LIBS ${EXTRA_LIBS} MathFunctions)
endif()
add_executable(Tutorial tutorial.cpp)
target_link_libraries(Tutorial ${EXTRA_LIBS})
install (TARGETS Tutorial DESTINATION ${PROJECT_SOURCE_DIR}/install/bin)
install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
DESTINATION ${PROJECT_SOURCE_DIR}/install/include)
include(CTest)
add_test (TutorialRuns Tutorial 25)
# does it sqrt of 25
add_test (TutorialComp25 Tutorial 25)
set_tests_properties (TutorialComp25 PROPERTIES PASS_REGULAR_EXPRESSION "25 is 5")
# does it handle negative numbers
add_test (TutorialNegative Tutorial -25)
set_tests_properties (TutorialNegative PROPERTIES PASS_REGULAR_EXPRESSION "-25 is 0")
# does it handle small numbers
add_test (TutorialSmall Tutorial 0.0001)
set_tests_properties (TutorialSmall PROPERTIES PASS_REGULAR_EXPRESSION "0.0001 is 0.01")
# does the usage message work?
add_test (TutorialUsage Tutorial)
set_tests_properties (TutorialUsage PROPERTIES PASS_REGULAR_EXPRESSION "Usage:.*number")
# macro (do_test arg result)
# add_test (TutorialComp${arg} Tutorial ${arg})
# set_tests_properties (TutorialComp${arg}
# PROPERTIES PASS_REGULAR_EXPRESSION ${result})
# endmacro (do_test)
# # do a bunch of result based tests
# do_test (25 "25 is 5")
# do_test (-25 "-25 is 0")
# function(do_test target arg result)
# add_test(NAME Comp${arg} COMMAND ${target} ${arg})
# set_tests_properties(Comp${arg}
# PROPERTIES PASS_REGULAR_EXPRESSION ${result}
# )
# endfunction()
# # do a bunch of result based tests
# do_test(Tutorial 4 "4 is 2")
# do_test(Tutorial 9 "9 is 3")
# do_test(Tutorial 5 "5 is 2.236")
# do_test(Tutorial 7 "7 is 2.645")
# do_test(Tutorial 25 "25 is 5")
# do_test(Tutorial -25 "-25 is (-nan|nan|0)")
# do_test(Tutorial 0.0001 "0.0001 is 0.01")
include (InstallRequiredSystemLibraries)
set (CPACK_RESOURCE_FILE_LICENSE
"${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
set (CPACK_PACKAGE_VERSION_MAJOR "${Tutorial_VERSION_MAJOR}")
set (CPACK_PACKAGE_VERSION_MINOR "${Tutorial_VERSION_MINOR}")
include (CPack)
How should I modify my CMakeLists.txt
?