This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/packages/gecode/CMakeLists.txt
Vitor Santos Costa 65ff3ed471 Smaller updates:
constant use of longjmp
conflict with python headers
win32 support
dll support
2017-02-20 15:28:46 +00:00

63 lines
1.9 KiB
CMake

#TODO: change macro_log_feature to check both WITH_{$name} and ${name}_FOUND
#TODO: improve FindGecode.cmake to be similar to other Find*.cmake
#CHECK: GECODE
macro_optional_find_package (Gecode ON)
macro_log_feature (GECODE_FOUND "libgecode"
"Use Generic Constraint Development Environment (GECODE) library"
"http://www.gecode.org" FALSE)
if (GECODE_FOUND)
#DEFINES:
# GECODE_INCLUDE_DIR
# GECODE_VERSION
# GECODE_LIBRARIES
#set (EXTRALIBS gecode)
string(SUBSTRING ${GECODE_VERSION} 0 1 GECODE_MAJOR )
set (GECODE_SOURCES gecode${GECODE_MAJOR}_yap.cc
gecode${GECODE_MAJOR}-common.icc
${GECODE_VERSION}/gecode_yap_cc_impl_auto_generated.icc
${GECODE_VERSION}/gecode_yap_cc_init_auto_generated.icc
${GECODE_VERSION}/gecode_yap_cc_forward_auto_generated.icc
disjunctor.icc
disjunctor.hh )
add_custom_target (gecodeyap ALL DEPENDS gecode${GECODE_MAJOR}_yap_hand_written.yap ${GECODE_VERSION}/gecode_yap_auto_generated.yap gecode_yap
) # WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
# create a startup.yss on the top directory.
add_custom_command (TARGET gecodeyap
COMMAND cat ${CMAKE_CURRENT_SOURCE_DIR}/gecode${GECODE_MAJOR}_yap_hand_written.yap ${CMAKE_CURRENT_SOURCE_DIR}/${GECODE_VERSION}/gecode_yap_auto_generated.yap > gecode.yap
VERBATIM
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
add_library (gecode_yap SHARED ${GECODE_SOURCES})
target_link_libraries(gecode_yap libYap ${GECODE_LIBRARIES})
set_target_properties (gecode_yap PROPERTIES PREFIX "")
include_directories (${GECODE_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/${GECODE_VERSION})
install(TARGETS gecode_yap
LIBRARY DESTINATION ${dlls}
RUNTIME DESTINATION ${dlls}
ARCHIVE DESTINATION ${dlls}
)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/gecode.yap
DESTINATION ${libpl}
)
install(FILES clpfd.yap
DESTINATION ${libpl}/gecode
)
endif (GECODE_FOUND)