Hello, I try to use CPack to create a Windows package using NSIS, it fails with:
[100%] Built target sd-tris Run CPack packaging tool... CPack: Create package using NSIS CPack: Install projects CPack: - Run preinstall target for: sd-tris CPack: - Install project: sd-tris CPack: Create package CPack Error: Problem running NSIS command: "C:/Program Files (x86)/NSIS/makensis.exe" "C:/Users/markand/Documents/sd-tris/_build_/_CPack_Packages/win32/NSIS/project.nsi" Please check C:/Users/markand/Documents/sd-tris/_build_/_CPack_Packages/win32/NSIS/NSISOutput.log for errors CPack Error: Problem compressing the directory CPack Error: Error when generating package: sd-tris mingw32-make: *** [package] Error 1 And the NSISOutput.log tail: Section: "-Core installation" SetOutPath: "$INSTDIR" File: Returning to: "C:/Users/markand/Documents/sd-tris/_build_/_CPack_Packages/win32/NSIS/sd-tris-0.1.1-win32" File: "C:/Users/markand/Documents/sd-tris/_build_/_CPack_Packages/win32/NSIS/sd-tris-0.1.1-win32\*.*" -> no files found. Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] | /oname=outfile one_file_only) Error in script "C:/Users/markand/Documents/sd-tris/_build_/_CPack_Packages/win32/NSIS/project.nsi" on line 640 -- aborting creation process There is no files under C:/Users/markand/Documents/sd-tris/_build_/_CPack_Packages/win32/NSIS/sd-tris-0.1.1-win32, that's probably why it fails to build. I've attached the CMakeLists.txt, Cheers, -- Demelier David
# # CMakeLists.txt -- CMake build system for sd-tris # # --------------------------------------------------------- # General CMake parameters # --------------------------------------------------------- # General settings. cmake_minimum_required(VERSION 2.8) project(sd-tris C) # CMake modules. include(CheckFunctionExists) include(CheckIncludeFile) # Global variables. set(CMAKE_MODULE_PATH "${sd-tris_SOURCE_DIR}/cmake") set(PREFIX "${CMAKE_INSTALL_PREFIX}") set(ROOTDIR "${sd-tris_SOURCE_DIR}") set(BINARYDIR "${sd-tris_BINARY_DIR}") set(EXTERNDIR "${sd-tris_SOURCE_DIR}/extern") # Users for unix. set(USER "games") set(GROUP "games") if (WIN32) set(PATH_INSTALL_BIN "${PREFIX}") set(PATH_INSTALL_NLS "${PREFIX}/lang") set(PATH_INSTALL_DATA "${PREFIX}") else () set(PATH_INSTALL_BIN "${PREFIX}/bin") set(PATH_INSTALL_NLS "${PREFIX}/share/locale") set(PATH_INSTALL_DATA "${PREFIX}/share/sdtris") set(PATH_INSTALL_SCORE "/var/db/sdtris") endif () # Options option(NLS "Enable native language support" On) find_package(Wing REQUIRED) # # Enable NLS, if the library is not found the game won't link against it. # if (NLS) find_package(NLS) # If NLS is usable and found, link against it. if (NLS_FOUND) set(HAVE_NLS "1" CACHE INTERNAL "Use of NLS" FORCE) list(APPEND INCLUDES "${NLS_INCLUDE_DIR}") list(APPEND LIBRARIES "${NLS_LIBRARY}") endif () endif () # Create a make uninstall target. configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/uninstall.cmake" IMMEDIATE @ONLY ) add_custom_target( uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/uninstall.cmake" ) # --------------------------------------------------------- # Check of function, headers and so on # --------------------------------------------------------- # Check of asprintf(3) function. check_function_exists(asprintf HAVE_ASPRINTF) if (NOT HAVE_ASPRINTF) include_directories("${EXTERNDIR}/asprintf") list(APPEND EXTSOURCES "${EXTERNDIR}/asprintf/asprintf.c") endif () # Check of err(3) functions. check_function_exists(err HAVE_ERR) if (NOT HAVE_ERR) include_directories("${EXTERNDIR}/err") list(APPEND EXTSOURCES "${EXTERNDIR}/err/err.c") endif () # Check of getopt(3) function. check_function_exists(getopt HAVE_GETOPT) if (NOT HAVE_GETOPT) include_directories("${EXTERNDIR}/getopt") list(APPEND EXTSOURCES "${EXTERNDIR}/getopt/getopt.c") endif () # Check of setprogname(3) function. check_function_exists(setprogname HAVE_SETPROGNAME) if (NOT HAVE_SETPROGNAME) include_directories("${EXTERNDIR}/setprogname") list(APPEND EXTSOURCES "${EXTERNDIR}/setprogname/setprogname.c") endif () # random(3) is said to be better. check_function_exists(random HAVE_RANDOM) # c99 stdbool.h is still not supported on some platforms. check_include_file(stdbool.h HAVE_STDBOOL) if (NOT HAVE_STDBOOL) include_directories("${EXTERNDIR}/stdbool") endif () # We always use _FOREACH_SAFE. find_package(SysQueue) if (NOT SYSQUEUE_FOUND OR NOT SYSQUEUE_SLIST_FOREACH_SAFE OR NOT SYSQUEUE_STAILQ_FOREACH_SAFE OR NOT SYSQUEUE_LIST_FOREACH_SAFE OR NOT SYSQUEUE_TAILQ_FOREACH_SAFE) include_directories(BEFORE ${EXTERNDIR}/queue) endif () # unistd.h has some useful routines. check_include_file(unistd.h HAVE_UNISTD_H) configure_file("${ROOTDIR}/cmake/config.h.in" "${BINARYDIR}/config.h") # --------------------------------------------------------- # Include, libraries and executable # --------------------------------------------------------- include_directories( ${BINARYDIR} ${INCLUDES} ${WING_INCLUDE_DIRS} ) file( GLOB SOURCES ${ROOTDIR}/src/* ) add_executable( sd-tris ${SOURCES} ${EXTSOURCES} ) target_link_libraries( sd-tris ${WING_LIBRARIES} ${LIBRARIES} ) install(TARGETS sd-tris DESTINATION "${PATH_INSTALL_BIN}") # data install(DIRECTORY "${ROOTDIR}/data/" DESTINATION "${PATH_INSTALL_DATA}" PATTERN "data/*") # score file on unix if (NOT WIN32) install(DIRECTORY DESTINATION "${PATH_INSTALL_SCORE}") endif () # # Install NLS files. # if (HAVE_NLS) foreach (f "fr") install(FILES "${ROOTDIR}/po/${f}.mo" DESTINATION "${PATH_INSTALL_NLS}/${f}/LC_MESSAGES/" RENAME "sdtris.mo") endforeach() endif () # # chmod and setgid for score on Unix # if (UNIX) install(CODE " execute_process(COMMAND chmod 2755 ${PATH_INSTALL_BIN}/sd-tris) execute_process(COMMAND chown ${USER}:${GROUP} ${PATH_INSTALL_BIN}/sd-tris) execute_process(COMMAND chmod 775 ${PATH_INSTALL_SCORE}) execute_process(COMMAND chown ${USER}:${GROUP} ${PATH_INSTALL_SCORE}) ") endif () # # CPack. # if (WIN32) set(CPACK_GENERATOR NSIS) set(CPACK_MONOLITHIC_INSTALL 1) set(CPACK_RESOURCE_FILE_LICENSE "${ROOTDIR}/LICENSE") set(CPACK_RESOURCE_FILE_README "${ROOTDIR}/README") set(CPACK_PACKAGE_EXECUTABLES "sd-tris" "SD-Tris") set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "sdtris") endif () set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "SD-Tris game") include(CPack) # vim: set syntax=cmake:
-- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake