ADD_CORE_FILES(.)

FILE(GLOB_RECURSE OGDF_SOURCES "src/*.cpp")
LIST(REMOVE_ITEM OGDF_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/src/coin/Osi/OsiCpxSolverInterface.cpp"
                              "${CMAKE_CURRENT_SOURCE_DIR}/src/coin/Osi/OsiGrbSolverInterface.cpp")

# the use of debug flags below cause crash
#IF(CMAKE_DEBUG_MODE)
#  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DOGDF_DEBUG -DOGDF_MEMORY_MALLOC_TS")
#ENDIF(CMAKE_DEBUG_MODE)

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DOGDF_DLL -DOGDF_INSTALL -DCLP_BUILD -DCOINUTILS_BUILD -DOSI_BUILD -DSYMPHONY_BUILD -D__OSI_CLP__ -DCOMPILE_IN_CG -DCOMPILE_IN_CP -DCOMPILE_IN_LP -DCOMPILE_IN_TM -DUSE_CGL_CUTS -DHAVE_CONFIG_H")

IF(APPLE)
# as indicated in makeMakefile.config, use -stdlib=libstdc++ for a Mac build
  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++")
ENDIF(APPLE)

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/include/coin ${CMAKE_CURRENT_SOURCE_DIR}/config/coinstuff)

ADD_LIBRARY(${OGDFLibrary} SHARED ${OGDF_SOURCES} )
IF(WIN32)
  TARGET_LINK_LIBRARIES(${OGDFLibrary} psapi)
ENDIF(WIN32)
SET_TARGET_PROPERTIES(${OGDFLibrary} PROPERTIES
                      SOVERSION 0)

INSTALL(TARGETS ${OGDFLibrary}
       RUNTIME DESTINATION ${TulipBinInstallDir} COMPONENT ogdf
       LIBRARY DESTINATION ${TulipLibInstallDir} COMPONENT ogdf
       ARCHIVE DESTINATION ${TulipLibInstallDir} COMPONENT ogdf)

IF(ACTIVATE_PYTHON_WHEELS_TARGETS)
ADD_CUSTOM_COMMAND(TARGET ${OGDFLibrary}
                   POST_BUILD
                   COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:${OGDFLibrary}> ${TULIP_PYTHON_NATIVE_FOLDER}/$<TARGET_FILE_NAME:${OGDFLibrary}>
                   VERBATIM)
ENDIF(ACTIVATE_PYTHON_WHEELS_TARGETS)
