From aca1d93bd9b9921ecef83b80bed219a2f5879500 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 1 Apr 2015 12:50:03 -0400 Subject: cpack: Disable CMake Cygwin legacy warning while packaging In cpack we load the platform information modules to give the configuration scripts access to the host system information. CYGWIN.cmake warns unless we explicitly tell it not to warn since there is no chance for a cmake_minimum_required(VERSION) to be called. --- Source/CPack/cpack.cxx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Source/CPack/cpack.cxx b/Source/CPack/cpack.cxx index 6106472..00b23cd 100644 --- a/Source/CPack/cpack.cxx +++ b/Source/CPack/cpack.cxx @@ -203,6 +203,9 @@ int main (int argc, char const* const* argv) cmgg.SetCMakeInstance(&cminst); cmsys::auto_ptr cmlg(cmgg.CreateLocalGenerator()); cmMakefile* globalMF = cmlg->GetMakefile(); +#if defined(__CYGWIN__) + globalMF->AddDefinition("CMAKE_LEGACY_CYGWIN_WIN32", "0"); +#endif bool cpackConfigFileSpecified = true; if ( cpackConfigFile.empty() ) -- cgit v0.12 From 5f686b8a6b5258f6c5aafbb33d7db36b38a3f06d Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Tue, 31 Mar 2015 15:04:39 -0400 Subject: Tests: Add case for CPack source package with symlinks --- Tests/RunCMake/CMakeLists.txt | 5 +++++ Tests/RunCMake/CPackSymlinks/RunCMakeTest.cmake | 20 ++++++++++++++++++++ .../CPackSymlinks/SrcSymlinksTar-stdout.txt | 10 ++++++++++ Tests/RunCMake/CPackSymlinks/testcpacksym.tar | Bin 0 -> 10240 bytes 4 files changed, 35 insertions(+) create mode 100644 Tests/RunCMake/CPackSymlinks/RunCMakeTest.cmake create mode 100644 Tests/RunCMake/CPackSymlinks/SrcSymlinksTar-stdout.txt create mode 100644 Tests/RunCMake/CPackSymlinks/testcpacksym.tar diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 7b9c810..1242332 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -203,6 +203,11 @@ add_RunCMake_test(install) add_RunCMake_test(CPackInstallProperties) add_RunCMake_test(ExternalProject) add_RunCMake_test(CTestCommandLine) +# Only run this test on unix platforms that support +# symbolic links +if(UNIX) + add_RunCMake_test(CPackSymlinks) +endif() set(IfacePaths_INCLUDE_DIRECTORIES_ARGS -DTEST_PROP=INCLUDE_DIRECTORIES) add_RunCMake_test(IfacePaths_INCLUDE_DIRECTORIES TEST_DIR IfacePaths) diff --git a/Tests/RunCMake/CPackSymlinks/RunCMakeTest.cmake b/Tests/RunCMake/CPackSymlinks/RunCMakeTest.cmake new file mode 100644 index 0000000..439d95e --- /dev/null +++ b/Tests/RunCMake/CPackSymlinks/RunCMakeTest.cmake @@ -0,0 +1,20 @@ +include(RunCMake) + +function(run_cpack_symlink_test) + set(RunCMake_TEST_NO_CLEAN TRUE) + set(RunCMake_TEST_BINARY_DIR "${RunCMake_BINARY_DIR}/SrcSymlinks-build") + set(RunCMake_TEST_SOURCE_DIR "${RunCMake_BINARY_DIR}/SrcSymlinks") + file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}") + file(REMOVE_RECURSE "${RunCMake_TEST_SOURCE_DIR}") + file(MAKE_DIRECTORY "${RunCMake_TEST_SOURCE_DIR}") + run_cmake_command(SrcSymlinksTar + ${CMAKE_COMMAND} -E chdir ${RunCMake_TEST_SOURCE_DIR} + ${CMAKE_COMMAND} -E tar xvf ${RunCMake_SOURCE_DIR}/testcpacksym.tar + ) + run_cmake(SrcSymlinksCMake) + run_cmake_command(SrcSymlinksCPack + ${CMAKE_CPACK_COMMAND} --config CPackSourceConfig.cmake + ) +endfunction() + +run_cpack_symlink_test() diff --git a/Tests/RunCMake/CPackSymlinks/SrcSymlinksTar-stdout.txt b/Tests/RunCMake/CPackSymlinks/SrcSymlinksTar-stdout.txt new file mode 100644 index 0000000..24ad124 --- /dev/null +++ b/Tests/RunCMake/CPackSymlinks/SrcSymlinksTar-stdout.txt @@ -0,0 +1,10 @@ +^x CMakeLists.txt +x cygwin/ +x cygwin/build.sh +x cygwin/setup.patch +x include/ +x include/src.h +x link.h +x real.h +x src/ +x src/src.h$ diff --git a/Tests/RunCMake/CPackSymlinks/testcpacksym.tar b/Tests/RunCMake/CPackSymlinks/testcpacksym.tar new file mode 100644 index 0000000..a44c656 Binary files /dev/null and b/Tests/RunCMake/CPackSymlinks/testcpacksym.tar differ -- cgit v0.12