From 37c52f1b12eba197fcd07e058bb151a9a406b222 Mon Sep 17 00:00:00 2001 From: Gabor Cseh Date: Sun, 17 Jun 2018 22:06:24 +0200 Subject: [PATCH 1/6] First try for a package config file. --- src/WinEditLineConfig.cmake | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/WinEditLineConfig.cmake diff --git a/src/WinEditLineConfig.cmake b/src/WinEditLineConfig.cmake new file mode 100644 index 0000000..1270acb --- /dev/null +++ b/src/WinEditLineConfig.cmake @@ -0,0 +1,11 @@ +set(WinEditLine_FOUND TRUE) +set(WinEditLine_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/editline") + +string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE) +if (MSVC AND uppercase_CMAKE_BUILD_TYPE MATCHES "DEBUG") + set(WinEditLine_LIBRARY_DIRS "${PROJECT_BINARY_DIR}/src/Debug") +else() + set(WinEditLine_LIBRARY_DIRS "${PROJECT_BINARY_DIR}/src/Release") +endif() + +set(WinEditLine_LIBRARIES WinEditLine_LIBRARY_DIRS) From b49768a76095cc56e95c58f26410df5c640dfd22 Mon Sep 17 00:00:00 2001 From: Gabor Cseh Date: Mon, 18 Jun 2018 11:32:39 +0200 Subject: [PATCH 2/6] Tweaking the package config file. --- src/WinEditLineConfig.cmake | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/WinEditLineConfig.cmake b/src/WinEditLineConfig.cmake index 1270acb..c0c0887 100644 --- a/src/WinEditLineConfig.cmake +++ b/src/WinEditLineConfig.cmake @@ -1,11 +1,18 @@ -set(WinEditLine_FOUND TRUE) -set(WinEditLine_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/editline") +set(WinEditLine_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/editline") + +if(NOT DEFINED LIB_SUFFIX) + if(CMAKE_SIZEOF_VOID_P MATCHES 4) + set(LIB_SUFFIX "32") + else() + set(LIB_SUFFIX "64") + endif() +endif() -string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE) -if (MSVC AND uppercase_CMAKE_BUILD_TYPE MATCHES "DEBUG") - set(WinEditLine_LIBRARY_DIRS "${PROJECT_BINARY_DIR}/src/Debug") +if (MSVC AND MSVC_USE_STATIC_RUNTIME) + set(WinEditLine_LIBRARY_DIRS "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}") else() - set(WinEditLine_LIBRARY_DIRS "${PROJECT_BINARY_DIR}/src/Release") + set(WinEditLine_LIBRARY_DIRS "${CMAKE_INSTALL_PREFIX}/bin${LIB_SUFFIX}") endif() set(WinEditLine_LIBRARIES WinEditLine_LIBRARY_DIRS) +set(WinEditLine_FOUND TRUE) From 89a547bb7831b4ddf6dcd531b33cc908723aafe7 Mon Sep 17 00:00:00 2001 From: Gabor Cseh Date: Tue, 19 Jun 2018 14:18:50 +0200 Subject: [PATCH 3/6] Further tweaking the package config file. Now installing it too. --- src/CMakeLists.txt | 2 ++ src/EDITLINEConfig.cmake | 21 +++++++++++++++++++++ src/WinEditLineConfig.cmake | 18 ------------------ 3 files changed, 23 insertions(+), 18 deletions(-) create mode 100644 src/EDITLINEConfig.cmake delete mode 100644 src/WinEditLineConfig.cmake diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 443d7b1..4b3b5f2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -19,6 +19,8 @@ install (TARGETS edit_a DESTINATION "${CMAKE_SOURCE_DIR}/lib${LIB_SUFFIX}") install (FILES editline/readline.h DESTINATION "${CMAKE_SOURCE_DIR}/include/editline") +install (FILES EDITLINEConfig.cmake + DESTINATION "${CMAKE_SOURCE_DIR}") string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE) if (MSVC AND uppercase_CMAKE_BUILD_TYPE MATCHES "DEBUG") install (FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/edit_a.dir/edit_a.pdb diff --git a/src/EDITLINEConfig.cmake b/src/EDITLINEConfig.cmake new file mode 100644 index 0000000..545e002 --- /dev/null +++ b/src/EDITLINEConfig.cmake @@ -0,0 +1,21 @@ +set(EDITLINE_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/include") + +if(NOT DEFINED LIB_SUFFIX) + if(CMAKE_SIZEOF_VOID_P MATCHES 4) + set(LIB_SUFFIX "32") + else() + set(LIB_SUFFIX "64") + endif() +endif() + +if (WIN32 AND MSVC_USE_STATIC_RUNTIME) + set(EDITLINE_LIBRARY_DIRS "${CMAKE_CURRENT_LIST_DIR}/lib${LIB_SUFFIX}/edit_a.lib") +elseif(WIN32) + set(EDITLINE_LIBRARY_DIRS "${CMAKE_CURRENT_LIST_DIR}/bin${LIB_SUFFIX}/edit.lib") +else() + message(WARNING "You are apparently not using Windows. We are not ready for that yet...") +endif() + +set(EDITLINE_LIBRARIES EDITLINE_LIBRARY_DIRS) +message(STATUS "EDITLINE_LIBRARIES: ${EDITLINE_LIBRARIES}") +set(EDITLINE_FOUND TRUE) diff --git a/src/WinEditLineConfig.cmake b/src/WinEditLineConfig.cmake deleted file mode 100644 index c0c0887..0000000 --- a/src/WinEditLineConfig.cmake +++ /dev/null @@ -1,18 +0,0 @@ -set(WinEditLine_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/editline") - -if(NOT DEFINED LIB_SUFFIX) - if(CMAKE_SIZEOF_VOID_P MATCHES 4) - set(LIB_SUFFIX "32") - else() - set(LIB_SUFFIX "64") - endif() -endif() - -if (MSVC AND MSVC_USE_STATIC_RUNTIME) - set(WinEditLine_LIBRARY_DIRS "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}") -else() - set(WinEditLine_LIBRARY_DIRS "${CMAKE_INSTALL_PREFIX}/bin${LIB_SUFFIX}") -endif() - -set(WinEditLine_LIBRARIES WinEditLine_LIBRARY_DIRS) -set(WinEditLine_FOUND TRUE) From 5cfd3c571c4ae25dd945d5bf9d7b30e047e34f35 Mon Sep 17 00:00:00 2001 From: Gabor Cseh Date: Fri, 22 Jun 2018 15:24:17 +0200 Subject: [PATCH 4/6] Hopefully GDL will recognize WinEditLine now... --- src/CMakeLists.txt | 2 +- src/EDITLINEConfig.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4b3b5f2..7c832a7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -19,7 +19,7 @@ install (TARGETS edit_a DESTINATION "${CMAKE_SOURCE_DIR}/lib${LIB_SUFFIX}") install (FILES editline/readline.h DESTINATION "${CMAKE_SOURCE_DIR}/include/editline") -install (FILES EDITLINEConfig.cmake +install (FILES EditlineConfig.cmake DESTINATION "${CMAKE_SOURCE_DIR}") string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE) if (MSVC AND uppercase_CMAKE_BUILD_TYPE MATCHES "DEBUG") diff --git a/src/EDITLINEConfig.cmake b/src/EDITLINEConfig.cmake index 545e002..8eaba44 100644 --- a/src/EDITLINEConfig.cmake +++ b/src/EDITLINEConfig.cmake @@ -1,4 +1,4 @@ -set(EDITLINE_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/include") +set(EDITLINE_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/include") if(NOT DEFINED LIB_SUFFIX) if(CMAKE_SIZEOF_VOID_P MATCHES 4) From 4b19420e41dcb42e1b268c3958eb9429b3ab065c Mon Sep 17 00:00:00 2001 From: Gabor Cseh Date: Fri, 22 Jun 2018 15:54:42 +0200 Subject: [PATCH 5/6] Now it seems to work with GLD and find_package(Editline) You have to add: -DCMAKE_PREFIX_PATH=[...]/wineditline after installed wineditline. --- src/EDITLINEConfig.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EDITLINEConfig.cmake b/src/EDITLINEConfig.cmake index 8eaba44..42e9bf5 100644 --- a/src/EDITLINEConfig.cmake +++ b/src/EDITLINEConfig.cmake @@ -16,6 +16,6 @@ else() message(WARNING "You are apparently not using Windows. We are not ready for that yet...") endif() -set(EDITLINE_LIBRARIES EDITLINE_LIBRARY_DIRS) +set(EDITLINE_LIBRARIES "${EDITLINE_LIBRARY_DIRS}") message(STATUS "EDITLINE_LIBRARIES: ${EDITLINE_LIBRARIES}") set(EDITLINE_FOUND TRUE) From e4fec9389d706cf77380f2e7633fd08b2bc41c51 Mon Sep 17 00:00:00 2001 From: Gabor Cseh Date: Mon, 2 Jul 2018 14:36:26 +0200 Subject: [PATCH 6/6] Added package_config support --- src/CMakeLists.txt | 12 ++++++------ src/EDITLINEConfig.cmake | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7c832a7..a71e2b1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -14,17 +14,17 @@ add_executable(edit_test libedit_test.c) target_link_libraries(edit_test edit) add_executable(edit_test_dll libedit_test_dll.c) install (TARGETS edit edit_test edit_test_dll - DESTINATION "${CMAKE_SOURCE_DIR}/bin${LIB_SUFFIX}") + DESTINATION "${CMAKE_INSTALL_PREFIX}/bin${LIB_SUFFIX}") install (TARGETS edit_a - DESTINATION "${CMAKE_SOURCE_DIR}/lib${LIB_SUFFIX}") + DESTINATION "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}") install (FILES editline/readline.h - DESTINATION "${CMAKE_SOURCE_DIR}/include/editline") + DESTINATION "${CMAKE_INSTALL_PREFIX}/include/editline") install (FILES EditlineConfig.cmake - DESTINATION "${CMAKE_SOURCE_DIR}") + DESTINATION "${CMAKE_INSTALL_PREFIX}") string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE) if (MSVC AND uppercase_CMAKE_BUILD_TYPE MATCHES "DEBUG") install (FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/edit_a.dir/edit_a.pdb - DESTINATION "${CMAKE_SOURCE_DIR}/lib${LIB_SUFFIX}") + DESTINATION "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}") install (FILES ${CMAKE_CURRENT_BINARY_DIR}/edit.pdb - DESTINATION "${CMAKE_SOURCE_DIR}/bin${LIB_SUFFIX}") + DESTINATION "${CMAKE_INSTALL_PREFIX}/bin${LIB_SUFFIX}") endif() diff --git a/src/EDITLINEConfig.cmake b/src/EDITLINEConfig.cmake index 42e9bf5..76c600d 100644 --- a/src/EDITLINEConfig.cmake +++ b/src/EDITLINEConfig.cmake @@ -17,5 +17,5 @@ else() endif() set(EDITLINE_LIBRARIES "${EDITLINE_LIBRARY_DIRS}") -message(STATUS "EDITLINE_LIBRARIES: ${EDITLINE_LIBRARIES}") -set(EDITLINE_FOUND TRUE) +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Editline DEFAULT_MSG EDITLINE_LIBRARIES EDITLINE_INCLUDE_DIR)