Commit 7829f410 authored by Max Lyon's avatar Max Lyon
Browse files

Merge branch 'CMakeTargetDebugging' into 'CMakeTarget'

CMake target debugging

See merge request !38
parents b6953c42 1096491c
Pipeline #8991 passed with stages
in 6 minutes and 38 seconds
...@@ -103,15 +103,18 @@ if (SUITESPARSE_FOUND ) ...@@ -103,15 +103,18 @@ if (SUITESPARSE_FOUND )
list( APPEND COMISO_INCLUDE_DIRECTORIES ${SUITESPARSE_INCLUDE_DIRS} ) list( APPEND COMISO_INCLUDE_DIRECTORIES ${SUITESPARSE_INCLUDE_DIRS} )
list( APPEND COMISO_LINK_DIRECTORIES ${SUITESPARSE_LIBRARY_DIRS} ) list( APPEND COMISO_LINK_DIRECTORIES ${SUITESPARSE_LIBRARY_DIRS} )
list( APPEND COMISO_LINK_LIBRARIES ${SUITESPARSE_LIBRARIES} ) list( APPEND COMISO_LINK_LIBRARIES ${SUITESPARSE_LIBRARIES} )
# special handling, since spqr is incorrect in several distributions
if(SUITESPARSE_SPQR_VALID)
set (COMISO_SUITESPARSE_SPQR_CONFIG_FILE_SETTINGS "#define COMISO_SUITESPARSE_SPQR_AVAILABLE 1" )
else()
message (STATUS "SUITESPARSE SPQR seems to be invalid!")
set (COMISO_SUITESPARSE_SPQR_CONFIG_FILE_SETTINGS "#define COMISO_SUITESPARSE_SPQR_AVAILABLE 0" )
endif()
else () else ()
message (STATUS "SUITESPARSE not found!") message (STATUS "SUITESPARSE not found!")
set (COMISO_SUITESPARSE_CONFIG_FILE_SETTINGS "#define COMISO_SUITESPARSE_AVAILABLE 0" ) set (COMISO_SUITESPARSE_CONFIG_FILE_SETTINGS "#define COMISO_SUITESPARSE_AVAILABLE 0" )
endif ()
# special handling, since spqr is incorrect in several distributions
if(SUITESPARSE_SPQR_VALID)
set (COMISO_SUITESPARSE_SPQR_CONFIG_FILE_SETTINGS "#define COMISO_SUITESPARSE_SPQR_AVAILABLE 1" )
else()
message (STATUS "SUITESPARSE SPQR seems to be invalid!")
set (COMISO_SUITESPARSE_SPQR_CONFIG_FILE_SETTINGS "#define COMISO_SUITESPARSE_SPQR_AVAILABLE 0" ) set (COMISO_SUITESPARSE_SPQR_CONFIG_FILE_SETTINGS "#define COMISO_SUITESPARSE_SPQR_AVAILABLE 0" )
endif() endif()
...@@ -390,6 +393,10 @@ if ( QT5_FOUND ) ...@@ -390,6 +393,10 @@ if ( QT5_FOUND )
list (APPEND COMISO_LINK_LIBRARIES ${QT_LIBRARIES}) list (APPEND COMISO_LINK_LIBRARIES ${QT_LIBRARIES})
endif() endif()
# TODO: remove this line when we can assume people have a cmake 3.13.
# Then link directories is set as target property below.
link_directories(${COMISO_LINK_DIRECTORIES})
acg_add_library (CoMISo SHARED ${ui} ${sources} ${headers} ) acg_add_library (CoMISo SHARED ${ui} ${sources} ${headers} )
target_include_directories (CoMISo PUBLIC target_include_directories (CoMISo PUBLIC
...@@ -402,9 +409,14 @@ target_include_directories (CoMISo PUBLIC ...@@ -402,9 +409,14 @@ target_include_directories (CoMISo PUBLIC
${COMISO_INCLUDE_DIRECTORIES} ${COMISO_INCLUDE_DIRECTORIES}
) )
set_target_properties(CoMISo PROPERTIES LINK_DIRECTORIES get_target_property(INC_DIRS CoMISo INCLUDE_DIRECTORIES)
${COMISO_LINK_DIRECTORIES} message("Target CoMISo include dirs: ${INC_DIRS}")
) message("COMISO_INCLUDE_DIRECTORIES: ${COMISO_INCLUDE_DIRECTORIES}")
message("COMISO_LINK_DIRECTORIES: ${COMISO_LINK_DIRECTORIES}")
if (COMISO_LINK_DIRECTORIES)
set_target_properties(CoMISo PROPERTIES LINK_DIRECTORIES ${COMISO_LINK_DIRECTORIES})
endif()
# generate dllexport macros on windows # generate dllexport macros on windows
if (WIN32) if (WIN32)
......
...@@ -73,13 +73,16 @@ if (WIN32) ...@@ -73,13 +73,16 @@ if (WIN32)
GET_FILENAME_COMPONENT(IPOPT_LIBRARY_DIR ${IPOPT_LIBRARY_RELEASE} PATH ) GET_FILENAME_COMPONENT(IPOPT_LIBRARY_DIR ${IPOPT_LIBRARY_RELEASE} PATH )
MARK_AS_ADVANCED(IPOPT_LIBRARY_DIR) MARK_AS_ADVANCED(IPOPT_LIBRARY_DIR)
SET(IPOPT_FOUND TRUE) SET(IPOPT_FOUND TRUE)
SET(IPOPT_INCLUDE_DIR ${IPOPT_INCLUDE_DIR}) SET(IPOPT_INCLUDE_DIRS ${IPOPT_INCLUDE_DIR})
SET(IPOPT_LIBRARY_DIRS ${IPOPT_LIBRARY_DIR})
set(IPOPT_LIBRARIES "${IPOPT_LIBRARY}" )
# Todo, set right version depending on build type (debug/release) # Todo, set right version depending on build type (debug/release)
#GET_FILENAME_COMPONENT( IPOPT_LIBRARY_DIR ${GLEW_LIBRARY} PATH ) #GET_FILENAME_COMPONENT( IPOPT_LIBRARY_DIRS ${GLEW_LIBRARY} PATH )
ELSE(IPOPT_INCLUDE_DIR) ELSE(IPOPT_INCLUDE_DIR)
SET(IPOPT_FOUND FALSE) SET(IPOPT_FOUND FALSE)
SET(IPOPT_INCLUDE_DIR ${IPOPT_INCLUDE_DIR}) SET(IPOPT_INCLUDE_DIRS ${IPOPT_INCLUDE_DIR})
ENDIF(IPOPT_INCLUDE_DIR) ENDIF(IPOPT_INCLUDE_DIR)
ELSE( WIN32 ) ELSE( WIN32 )
...@@ -117,17 +120,18 @@ ELSE( WIN32 ) ...@@ -117,17 +120,18 @@ ELSE( WIN32 )
PATHS "/usr/lib" ) PATHS "/usr/lib" )
set(IPOPT_LIBRARY_DIRS "${IPOPT_LIBRARY_DIR}" )
set(IPOPT_INCLUDE_DIRS "${IPOPT_INCLUDE_DIR}" )
set(IPOPT_LIBRARIES "${IPOPT_LIBRARY}" )
IF( IPOPT_HSL_LIBRARY_DIR) IF( IPOPT_HSL_LIBRARY_DIR)
IF( NOT IPOPT_FIND_QUIETLY ) IF( NOT IPOPT_FIND_QUIETLY )
message ( "IPOPT_HSL_LIBRARY_DIR found at ${IPOPT_HSL_LIBRARY_DIR} ") message ( "IPOPT_HSL_LIBRARY_DIR found at ${IPOPT_HSL_LIBRARY_DIR} ")
ENDIF() ENDIF()
set(IPOPT_LIBRARY_DIR ${IPOPT_HSL_LIBRARY_DIR})
LIST( APPEND IPOPT_LIBRARY_DIRS "${IPOPT_HSL_LIBRARY_DIR}") LIST( APPEND IPOPT_LIBRARY_DIRS "${IPOPT_HSL_LIBRARY_DIR}")
ENDIF(IPOPT_HSL_LIBRARY_DIR) ENDIF(IPOPT_HSL_LIBRARY_DIR)
set(IPOPT_INCLUDE_DIRS "${IPOPT_INCLUDE_DIR}" )
set(IPOPT_LIBRARIES "${IPOPT_LIBRARY}" )
IF(IPOPT_HSL_LIBRARY) IF(IPOPT_HSL_LIBRARY)
LIST( APPEND IPOPT_LIBRARIES "${IPOPT_HSL_LIBRARY}") LIST( APPEND IPOPT_LIBRARIES "${IPOPT_HSL_LIBRARY}")
......
...@@ -10,10 +10,10 @@ ...@@ -10,10 +10,10 @@
# SUITESPARSE_LIBRARY_DIRS - all Library directories containing suitesparse libs # SUITESPARSE_LIBRARY_DIRS - all Library directories containing suitesparse libs
# SUITESPARSE_SPQR_VALID - automatic identification whether or not spqr package is installed correctly # SUITESPARSE_SPQR_VALID - automatic identification whether or not spqr package is installed correctly
IF (SUITESPARSE_INCLUDE_DIRS) if (SUITESPARSE_INCLUDE_DIRS)
# Already in cache, be silent # Already in cache, be silent
SET(SUITESPARSE_FIND_QUIETLY TRUE) SET(SUITESPARSE_FIND_QUIETLY TRUE)
ENDIF (SUITESPARSE_INCLUDE_DIRS) endif (SUITESPARSE_INCLUDE_DIRS)
if( WIN32 ) if( WIN32 )
# Find cholmod part of the suitesparse library collection # Find cholmod part of the suitesparse library collection
...@@ -47,9 +47,9 @@ if( WIN32 ) ...@@ -47,9 +47,9 @@ if( WIN32 )
) )
# Add cholmod include directory to collection include directories # Add cholmod include directory to collection include directories
IF ( CHOLMOD_INCLUDE_DIR ) if ( CHOLMOD_INCLUDE_DIR )
list ( APPEND SUITESPARSE_INCLUDE_DIRS ${CHOLMOD_INCLUDE_DIR} ) list ( APPEND SUITESPARSE_INCLUDE_DIRS ${CHOLMOD_INCLUDE_DIR} )
ENDIF( CHOLMOD_INCLUDE_DIR ) endif( CHOLMOD_INCLUDE_DIR )
# find path suitesparse library # find path suitesparse library
...@@ -61,7 +61,7 @@ if( WIN32 ) ...@@ -61,7 +61,7 @@ if( WIN32 )
suitesparse-metis-for-windows-1.2.2-install/lib64 ) suitesparse-metis-for-windows-1.2.2-install/lib64 )
# if we found the library, add it to the defined libraries # if we found the library, add it to the defined libraries
IF ( SUITESPARSE_LIBRARY_DIRS ) if ( SUITESPARSE_LIBRARY_DIRS )
if ( EXISTS "${SUITESPARSE_LIBRARY_DIRS}/libamd.lib" ) if ( EXISTS "${SUITESPARSE_LIBRARY_DIRS}/libamd.lib" )
list ( APPEND SUITESPARSE_LIBRARY_DIRS "${SUITESPARSE_LIBRARY_DIRS}/lapack_blas_windows") # because liblapack.lib lies here list ( APPEND SUITESPARSE_LIBRARY_DIRS "${SUITESPARSE_LIBRARY_DIRS}/lapack_blas_windows") # because liblapack.lib lies here
list ( APPEND SUITESPARSE_LIBRARIES optimized;libamd;optimized;libcamd;optimized;libccolamd;optimized;libcholmod;optimized;libcolamd;optimized;metis;optimized;libspqr;optimized;libumfpack;debug;libamdd;debug;libcamdd;debug;libccolamdd;debug;libcholmodd;debug;libspqrd;debug;libumfpackd;debug;libcolamdd;debug;metisd;optimized;liblapack;debug;liblapackd;optimized;suitesparseconfig;debug;suitesparseconfigd ) list ( APPEND SUITESPARSE_LIBRARIES optimized;libamd;optimized;libcamd;optimized;libccolamd;optimized;libcholmod;optimized;libcolamd;optimized;metis;optimized;libspqr;optimized;libumfpack;debug;libamdd;debug;libcamdd;debug;libccolamdd;debug;libcholmodd;debug;libspqrd;debug;libumfpackd;debug;libcolamdd;debug;metisd;optimized;liblapack;debug;liblapackd;optimized;suitesparseconfig;debug;suitesparseconfigd )
...@@ -79,16 +79,18 @@ if( WIN32 ) ...@@ -79,16 +79,18 @@ if( WIN32 )
FIND_LIBRARY( SUITESPARSE_SPQR_LIBRARY FIND_LIBRARY( SUITESPARSE_SPQR_LIBRARY
NAMES libspqr NAMES libspqr
PATHS ${SUITESPARSE_LIBRARY_DIRS} ) PATHS ${SUITESPARSE_LIBRARY_DIRS} )
IF (SUITESPARSE_SPQR_LIBRARY) if (SUITESPARSE_SPQR_LIBRARY)
list ( APPEND SUITESPARSE_LIBRARIES optimized;libspqr;debug;libspqrd) list ( APPEND SUITESPARSE_LIBRARIES optimized;libspqr;debug;libspqrd)
ENDIF (SUITESPARSE_SPQR_LIBRARY) else(SUITESPARSE_SPQR_LIBRARY)
SET(SUITESPARSE_SPQR_VALID FALSE)
endif (SUITESPARSE_SPQR_LIBRARY)
endif() endif()
ENDIF( SUITESPARSE_LIBRARY_DIRS ) endif( SUITESPARSE_LIBRARY_DIRS )
else( WIN32 ) else( WIN32 )
IF( APPLE) if( APPLE)
FIND_PATH( CHOLMOD_INCLUDE_DIR cholmod.h FIND_PATH( CHOLMOD_INCLUDE_DIR cholmod.h
PATHS /opt/local/include/ufsparse ) PATHS /opt/local/include/ufsparse )
...@@ -96,11 +98,12 @@ else( WIN32 ) ...@@ -96,11 +98,12 @@ else( WIN32 )
NAMES libSuiteSparse.dylib NAMES libSuiteSparse.dylib
PATHS /opt/local/lib ) PATHS /opt/local/lib )
message("SUITESPARSE_LIBRARY_DIR: ${SUITESPARSE_LIBRARY_DIR}")
list ( APPEND SUITESPARSE_LIBRARY_DIRS ${SUITESPARSE_LIBRARY_DIR} ) list ( APPEND SUITESPARSE_LIBRARY_DIRS ${SUITESPARSE_LIBRARY_DIR} )
list ( APPEND SUITESPARSE_LIBRARIES SuiteSparse) list ( APPEND SUITESPARSE_LIBRARIES SuiteSparse)
ELSE(APPLE) else(APPLE)
FIND_PATH( CHOLMOD_INCLUDE_DIR cholmod.h FIND_PATH( CHOLMOD_INCLUDE_DIR cholmod.h
PATHS /usr/local/include PATHS /usr/local/include
/usr/include /usr/include
...@@ -117,19 +120,19 @@ else( WIN32 ) ...@@ -117,19 +120,19 @@ else( WIN32 )
/usr/lib/x86_64-linux-gnu ) /usr/lib/x86_64-linux-gnu )
ENDIF(APPLE) endif(APPLE)
# Add cholmod include directory to collection include directories # Add cholmod include directory to collection include directories
IF ( CHOLMOD_INCLUDE_DIR ) if ( CHOLMOD_INCLUDE_DIR )
list ( APPEND SUITESPARSE_INCLUDE_DIRS ${CHOLMOD_INCLUDE_DIR} ) list ( APPEND SUITESPARSE_INCLUDE_DIRS ${CHOLMOD_INCLUDE_DIR} )
ENDIF( CHOLMOD_INCLUDE_DIR ) endif( CHOLMOD_INCLUDE_DIR )
# if we found the library, add it to the defined libraries # if we found the library, add it to the defined libraries
IF ( SUITESPARSE_LIBRARY_DIR ) if ( SUITESPARSE_LIBRARY_DIR )
# Skipped, as this is set for apple in the block above # Skipped, as this is set for apple in the block above
# if (NOT APPLE) # if (NOT APPLE)
list ( APPEND SUITESPARSE_LIBRARIES amd) list ( APPEND SUITESPARSE_LIBRARIES amd)
list ( APPEND SUITESPARSE_LIBRARIES btf) list ( APPEND SUITESPARSE_LIBRARIES btf)
list ( APPEND SUITESPARSE_LIBRARIES camd) list ( APPEND SUITESPARSE_LIBRARIES camd)
...@@ -147,9 +150,9 @@ else( WIN32 ) ...@@ -147,9 +150,9 @@ else( WIN32 )
FIND_LIBRARY( SUITESPARSE_METIS_LIBRARY FIND_LIBRARY( SUITESPARSE_METIS_LIBRARY
NAMES metis NAMES metis
PATHS ${SUITESPARSE_LIBRARY_DIR} ) PATHS ${SUITESPARSE_LIBRARY_DIR} )
IF (SUITESPARSE_METIS_LIBRARY) if (SUITESPARSE_METIS_LIBRARY)
list ( APPEND SUITESPARSE_LIBRARIES ${SUITESPARSE_METIS_LIBRARY}) list ( APPEND SUITESPARSE_LIBRARIES ${SUITESPARSE_METIS_LIBRARY})
ENDIF(SUITESPARSE_METIS_LIBRARY) endif(SUITESPARSE_METIS_LIBRARY)
if(EXISTS "${CHOLMOD_INCLUDE_DIR}/SuiteSparseQR.hpp") if(EXISTS "${CHOLMOD_INCLUDE_DIR}/SuiteSparseQR.hpp")
SET(SUITESPARSE_SPQR_VALID TRUE CACHE BOOL "SuiteSparseSPQR valid") SET(SUITESPARSE_SPQR_VALID TRUE CACHE BOOL "SuiteSparseSPQR valid")
...@@ -161,21 +164,21 @@ else( WIN32 ) ...@@ -161,21 +164,21 @@ else( WIN32 )
FIND_LIBRARY( SUITESPARSE_SPQR_LIBRARY FIND_LIBRARY( SUITESPARSE_SPQR_LIBRARY
NAMES spqr NAMES spqr
PATHS ${SUITESPARSE_LIBRARY_DIR} ) PATHS ${SUITESPARSE_LIBRARY_DIR} )
IF (SUITESPARSE_SPQR_LIBRARY) if (SUITESPARSE_SPQR_LIBRARY)
list ( APPEND SUITESPARSE_LIBRARIES spqr) list ( APPEND SUITESPARSE_LIBRARIES spqr)
ENDIF (SUITESPARSE_SPQR_LIBRARY) endif (SUITESPARSE_SPQR_LIBRARY)
endif() endif()
ENDIF( SUITESPARSE_LIBRARY_DIR ) endif( SUITESPARSE_LIBRARY_DIR )
endif( WIN32 ) endif( WIN32 )
IF (SUITESPARSE_INCLUDE_DIRS AND SUITESPARSE_LIBRARIES) if (SUITESPARSE_LIBRARY_DIR AND SUITESPARSE_LIBRARIES)
IF(WIN32) if(WIN32)
list (APPEND SUITESPARSE_INCLUDE_DIRS ${CHOLMOD_INCLUDE_DIR}/../../UFconfig ) list (APPEND SUITESPARSE_INCLUDE_DIRS ${CHOLMOD_INCLUDE_DIR}/../../UFconfig )
ENDIF(WIN32) endif(WIN32)
SET(SUITESPARSE_FOUND TRUE) SET(SUITESPARSE_FOUND TRUE)
ELSE (SUITESPARSE_INCLUDE_DIRS AND SUITESPARSE_LIBRARIES) else (SUITESPARSE_LIBRARY_DIR AND SUITESPARSE_LIBRARIES)
SET( SUITESPARSE_FOUND FALSE ) SET( SUITESPARSE_FOUND FALSE )
ENDIF (SUITESPARSE_INCLUDE_DIRS AND SUITESPARSE_LIBRARIES) endif (SUITESPARSE_LIBRARY_DIR AND SUITESPARSE_LIBRARIES)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment