From 3966bf2ee1bf0b01d0f1504deda5fe77bf83655c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Wed, 20 Jan 2016 22:25:25 +0000 Subject: [PATCH] windows dlls, meet thy mxmake --- .gitignore | 4 +- CXX/CMakeLists.txt | 4 +- library/lammpi/CMakeLists.txt | 1 + library/matlab/CMakeLists.txt | 3 +- library/matrix/CMakeLists.txt | 4 +- library/random/CMakeLists.txt | 3 +- library/regex/CMakeLists.txt | 3 +- library/rltree/CMakeLists.txt | 3 +- library/system/CMakeLists.txt | 3 +- library/system/sys_config.h | 31 +++++++++++++++ library/systest.yap | 0 library/tries/CMakeLists.txt | 6 ++- packages/cuda/CMakeLists.txt | 1 + packages/gecode/CMakeLists.txt | 2 + packages/jpl/CMakeLists.txt | 51 ++++++++++++++----------- packages/myddas/mysql/CMakeLists.txt | 1 + packages/myddas/odbc/CMakeLists.txt | 1 + packages/myddas/postgres/CMakeLists.txt | 1 + packages/myddas/sqlite3/CMakeLists.txt | 3 +- packages/python/CMakeLists.txt | 3 +- packages/raptor/CMakeLists.txt | 5 ++- utf8proc/CMakeLists.txt | 3 +- 22 files changed, 99 insertions(+), 37 deletions(-) create mode 100644 library/system/sys_config.h create mode 100644 library/systest.yap diff --git a/.gitignore b/.gitignore index 53270c3cc..9c3b323fb 100644 --- a/.gitignore +++ b/.gitignore @@ -135,4 +135,6 @@ build Debug debug Release -Build \ No newline at end of file +Build +xcode +Threads \ No newline at end of file diff --git a/CXX/CMakeLists.txt b/CXX/CMakeLists.txt index ba026fd43..888bcb1c1 100644 --- a/CXX/CMakeLists.txt +++ b/CXX/CMakeLists.txt @@ -14,7 +14,9 @@ include_directories (H include ${CMAKE_BINARY_DIR} ${GMP_INCLUDE_DIR}) target_link_libraries(Yap++ libYap) install(TARGETS Yap++ - LIBRARY DESTINATION ${libdir} ) + LIBRARY DESTINATION ${libdir} + ARCHIVE DESTINATION ${libdir} + ) set( CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${GMP_INCLUDE_DIR} ) #set( CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${GMP_LIBRARIES} ) diff --git a/library/lammpi/CMakeLists.txt b/library/lammpi/CMakeLists.txt index ff6a134a8..c340dd8cd 100644 --- a/library/lammpi/CMakeLists.txt +++ b/library/lammpi/CMakeLists.txt @@ -82,6 +82,7 @@ if (MPI_C_FOUND) install(TARGETS yap_mpi LIBRARY DESTINATION ${dlls} + ARCHIVE DESTINATION ${dlls} ) endif (MPI_C_FOUND) diff --git a/library/matlab/CMakeLists.txt b/library/matlab/CMakeLists.txt index 8295d320b..69bfcbfb4 100644 --- a/library/matlab/CMakeLists.txt +++ b/library/matlab/CMakeLists.txt @@ -17,7 +17,8 @@ if (MATLAB_FOUND) target_link_libraries(matlab libYap $(MATLAB_LIBRARIES) ) install(TARGETS matlab - LIBRARY DESTINATION ${dlls} ) + LIBRARY DESTINATION ${dlls} + ARCHIVE DESTINATION ${dlls} ) endif (MATLAB_FOUND) diff --git a/library/matrix/CMakeLists.txt b/library/matrix/CMakeLists.txt index 4544b4fea..d567f9055 100644 --- a/library/matrix/CMakeLists.txt +++ b/library/matrix/CMakeLists.txt @@ -6,5 +6,7 @@ target_link_libraries(matrix libYap) set_target_properties (matrix PROPERTIES PREFIX "") install(TARGETS matrix - LIBRARY DESTINATION ${dlls} ) + LIBRARY DESTINATION ${dlls} + ARCHIVE DESTINATION ${dlls} + ) diff --git a/library/random/CMakeLists.txt b/library/random/CMakeLists.txt index 5b585c9e4..d964d6e00 100644 --- a/library/random/CMakeLists.txt +++ b/library/random/CMakeLists.txt @@ -6,5 +6,6 @@ target_link_libraries(yap_random libYap) set_target_properties (yap_random PROPERTIES PREFIX "") install(TARGETS yap_random - LIBRARY DESTINATION ${dlls} ) + LIBRARY DESTINATION ${dlls} + ARCHIVE DESTINATION ${dlls} ) diff --git a/library/regex/CMakeLists.txt b/library/regex/CMakeLists.txt index 801149770..8075970ad 100644 --- a/library/regex/CMakeLists.txt +++ b/library/regex/CMakeLists.txt @@ -18,5 +18,6 @@ target_link_libraries(regexp libYap ${REGEX_SOURCES}) set_target_properties (regexp PROPERTIES PREFIX "") install(TARGETS regexp - LIBRARY DESTINATION ${dlls} ) + LIBRARY DESTINATION ${dlls} + ARCHIVE DESTINATION ${dlls} ) diff --git a/library/rltree/CMakeLists.txt b/library/rltree/CMakeLists.txt index 50cc6555b..0fd6553ac 100644 --- a/library/rltree/CMakeLists.txt +++ b/library/rltree/CMakeLists.txt @@ -11,5 +11,6 @@ target_link_libraries(yap_rl libYap) set_target_properties (yap_rl PROPERTIES PREFIX "") install(TARGETS yap_rl - LIBRARY DESTINATION ${dlls} ) + LIBRARY DESTINATION ${dlls} + ARCHIVE DESTINATION ${dlls} ) diff --git a/library/system/CMakeLists.txt b/library/system/CMakeLists.txt index fe76e1e4b..cf1199e00 100644 --- a/library/system/CMakeLists.txt +++ b/library/system/CMakeLists.txt @@ -28,7 +28,8 @@ target_link_libraries(sys libYap) set_target_properties (sys PROPERTIES PREFIX "") install(TARGETS sys - LIBRARY DESTINATION ${dlls} ) + LIBRARY DESTINATION ${dlls} + ARCHIVE DESTINATION ${dlls} ) configure_file ("sys_config.h.cmake" "sys_config.h" ) diff --git a/library/system/sys_config.h b/library/system/sys_config.h new file mode 100644 index 000000000..17e29d49d --- /dev/null +++ b/library/system/sys_config.h @@ -0,0 +1,31 @@ +/* Define to 1 if you have the header file. */ +#ifndef HAVE_APACHE2_UTIL_MD5_H +/* #undef HAVE_APACHE2_UTIL_MD5_H */ +#endif + +/* Define to 1 if you have the header file. */ +#ifndef HAVE_APR_1_APR_MD5_H +#define HAVE_APR_1_APR_MD5_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef HAVE_OPENSSL_MD5_H +/* #undef HAVE_OPENSSL_MD5_H */ +#endif + +/* Define to 1 if you have the header file. */ +#ifndef HAVE_OPENSSL_RIPEMD_H +/* #undef HAVE_OPENSSL_RIPEMD_H */ +#endif + +/* "Define if you have the crypt function." */ +#ifndef HAVE_CRYPT +/* #undef HAVE_CRYPT */ +#endif + +/* Define to 1 if you have the header file. */ +#ifndef HAVE_CRYPT_H +/* #undef HAVE_CRYPT_H */ +#endif + diff --git a/library/systest.yap b/library/systest.yap new file mode 100644 index 000000000..e69de29bb diff --git a/library/tries/CMakeLists.txt b/library/tries/CMakeLists.txt index 967fff528..6066da28a 100644 --- a/library/tries/CMakeLists.txt +++ b/library/tries/CMakeLists.txt @@ -12,7 +12,8 @@ target_link_libraries(tries libYap) set_target_properties (tries PROPERTIES PREFIX "") install(TARGETS tries - LIBRARY DESTINATION ${dlls} ) + LIBRARY DESTINATION ${dlls} + ARCHIVE DESTINATION ${dlls}) set ( ITRIES_SOURCES @@ -28,5 +29,6 @@ target_link_libraries(itries libYap) set_target_properties (itries PROPERTIES PREFIX "") install(TARGETS itries - LIBRARY DESTINATION ${dlls} ) + LIBRARY DESTINATION ${dlls} + ARCHIVE DESTINATION ${dlls} ) diff --git a/packages/cuda/CMakeLists.txt b/packages/cuda/CMakeLists.txt index 7fe5fd97c..01f344995 100644 --- a/packages/cuda/CMakeLists.txt +++ b/packages/cuda/CMakeLists.txt @@ -90,6 +90,7 @@ endif( THRUST_INCLUDE_DIR ) install(TARGETS libcuda LIBRARY DESTINATION ${dlls} + ARCHIVE DESTINATION ${dlls} ) install(FILES ${PL_SOURCES} diff --git a/packages/gecode/CMakeLists.txt b/packages/gecode/CMakeLists.txt index 8c1959d6c..a74e68b1b 100644 --- a/packages/gecode/CMakeLists.txt +++ b/packages/gecode/CMakeLists.txt @@ -46,6 +46,7 @@ if (GECODE_FOUND) install(TARGETS gecode_yap LIBRARY DESTINATION ${dlls} + ARCHIVE DESTINATION ${dlls} ) install(FILES gecode.yap @@ -57,3 +58,4 @@ if (GECODE_FOUND) ) endif (GECODE_FOUND) + diff --git a/packages/jpl/CMakeLists.txt b/packages/jpl/CMakeLists.txt index b0d66caa9..8c23070cc 100644 --- a/packages/jpl/CMakeLists.txt +++ b/packages/jpl/CMakeLists.txt @@ -4,13 +4,15 @@ set (JPL_SOURCES src/c/jpl.c) macro_optional_find_package(Java ON) -find_package(Java COMPONENTS Development) -#find_package(Java COMPONENTS Runtime) +find_package(Java ) +# find_package(Java COMPONENTS Development) +# find_package(Java COMPONENTS Runtime) +#find_package(JavaLibs) macro_log_feature (Java_Development_FOUND "Java" "Use Java System" "http://www.java.org" FALSE) -if (Java_Development_FOUND) +if (Java_FOUND) # Java_JAVA_EXECUTABLE = the full path to the Java runtime # Java_JAVAC_EXECUTABLE = the full path to the Java compiler # Java_JAVAH_EXECUTABLE = the full path to the Java header generator @@ -45,33 +47,36 @@ if (Java_Development_FOUND) # JAVA_INCLUDE_PATH2 = the include path to jni_md.h # JAVA_AWT_INCLUDE_PATH = the include path to jawt.h - add_library (jplYap SHARED src/c/jpl.c) + if (JNI_FOUND) - add_subdirectory (src/java) + add_library(jplYap SHARED src/c/jpl.c) - include_directories (${JAVA_INCLUDE_DIRS} ${JNI_INCLUDE_DIRS}) + add_subdirectory (src/java) - target_link_libraries(jplYap libYap ${JAVA_LIBRARIES} ${JNI_LIBRARIES}) + include_directories (${JAVA_INCLUDE_DIRS} ${JNI_INCLUDE_DIRS}) - #SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) - LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${libdir};${dlls};${JAVA_JVM_LIBRARY}/..;${JAVA_JVM_LIBRARY}/..;" isSystemDir) - IF("${isSystemDir}" STREQUAL "-1") - SET(CMAKE_INSTALL_RPATH "${libdir};${dlls}") - ENDIF("${isSystemDir}" STREQUAL "-1") + target_link_libraries(jplYap libYap ${JAVA_LIBRARIES} ${JNI_LIBRARIES}) + + #SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${libdir};${dlls};${JAVA_JVM_LIBRARY}/..;${JAVA_JVM_LIBRARY}/..;" isSystemDir) + IF("${isSystemDir}" STREQUAL "-1") + SET(CMAKE_INSTALL_RPATH "${libdir};${dlls}") + ENDIF("${isSystemDir}" STREQUAL "-1") - set_target_properties(jplYap PROPERTIES - OUTPUT_NAME jpl ) + set_target_properties(jplYap PROPERTIES + OUTPUT_NAME jpl ) set(YAP_SYSTEM_OPTIONS "jpl " ${YAP_SYSTEM_OPTIONS} PARENT_SCOPE) - install(TARGETS jplYap - LIBRARY DESTINATION ${dlls} - ) + install(TARGETS jplYap + LIBRARY DESTINATION ${dlls} + ARCHIVE DESTINATION ${dlls} + ) + + install(FILES jpl.pl + DESTINATION ${libpl} + ) + endif(JNI_FOUND) - install(FILES jpl.pl - DESTINATION ${libpl} - ) - - -endif (Java_Development_FOUND) +endif (Java_FOUND) diff --git a/packages/myddas/mysql/CMakeLists.txt b/packages/myddas/mysql/CMakeLists.txt index 551f31e6d..c8318b8f9 100644 --- a/packages/myddas/mysql/CMakeLists.txt +++ b/packages/myddas/mysql/CMakeLists.txt @@ -33,6 +33,7 @@ set_target_properties (Yapmysql PROPERTIES install(TARGETS Yapmysql LIBRARY DESTINATION ${libdir} + ARCHIVE DESTINATION ${libdir} ) else() diff --git a/packages/myddas/odbc/CMakeLists.txt b/packages/myddas/odbc/CMakeLists.txt index 3969acbc9..fb0701890 100644 --- a/packages/myddas/odbc/CMakeLists.txt +++ b/packages/myddas/odbc/CMakeLists.txt @@ -34,5 +34,6 @@ set_target_properties (Yapodbc PROPERTIES install(TARGETS Yapodbc LIBRARY DESTINATION ${libdir} + ARCHIVE DESTINATION ${libdir} ) diff --git a/packages/myddas/postgres/CMakeLists.txt b/packages/myddas/postgres/CMakeLists.txt index 3aab6b082..a47f0e1fb 100644 --- a/packages/myddas/postgres/CMakeLists.txt +++ b/packages/myddas/postgres/CMakeLists.txt @@ -30,6 +30,7 @@ if (PostgreSQL_FOUND) install(TARGETS Yappostgres LIBRARY DESTINATION ${libdir} + ARCHIVE DESTINATION ${libdir} ) else() add_definitions (-DMYDDAS_PostgreSQL=0) diff --git a/packages/myddas/sqlite3/CMakeLists.txt b/packages/myddas/sqlite3/CMakeLists.txt index 0e4ce7186..578cd6aac 100644 --- a/packages/myddas/sqlite3/CMakeLists.txt +++ b/packages/myddas/sqlite3/CMakeLists.txt @@ -26,6 +26,7 @@ if (SQLITE3_FOUND) install(TARGETS Yapsqlite3 LIBRARY DESTINATION ${libdir} - ) + ARCHIVE DESTINATION ${libdir} + ) endif (SQLITE3_FOUND) diff --git a/packages/python/CMakeLists.txt b/packages/python/CMakeLists.txt index 54955ac55..9d962b05c 100644 --- a/packages/python/CMakeLists.txt +++ b/packages/python/CMakeLists.txt @@ -53,7 +53,8 @@ if (PYTHONLIBS_FOUND) # PYTHONLIBS_FOUND - have the Python l install(TARGETS libpython LIBRARY DESTINATION ${dlls} - ) + ARCHIVE DESTINATION ${dlls} + ) install(FILES python.pl DESTINATION ${libpl} diff --git a/packages/raptor/CMakeLists.txt b/packages/raptor/CMakeLists.txt index a72a9f8c4..8b0e35df6 100644 --- a/packages/raptor/CMakeLists.txt +++ b/packages/raptor/CMakeLists.txt @@ -59,7 +59,8 @@ INCLUDE_DIRECTORIES( install(TARGETS libxml2 LIBRARY DESTINATION ${dlls} - ) + ARCHIVE DESTINATION ${dlls} + ) INSTALL(FILES xml2.yap DESTINATION ${libpl}) @@ -106,6 +107,8 @@ IF (RAPTOR_FOUND) install(TARGETS raptor LIBRARY DESTINATION ${dlls} + ARCHIVE DESTINATION ${dlls} + ) INSTALL(FILES raptor.yap DESTINATION ${libpl}) diff --git a/utf8proc/CMakeLists.txt b/utf8proc/CMakeLists.txt index 9cd371403..c2e77d0c3 100644 --- a/utf8proc/CMakeLists.txt +++ b/utf8proc/CMakeLists.txt @@ -37,4 +37,5 @@ set_target_properties (utf8proc PROPERTIES install(TARGETS utf8proc - LIBRARY DESTINATION ${libdir} ) + LIBRARY DESTINATION ${libdir} + ARCHIVE DESTINATION ${libdir})