File: FindCLP.cmake

package info (click to toggle)
yade 2026.1.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 34,448 kB
  • sloc: cpp: 97,645; python: 52,173; sh: 677; makefile: 162
file content (67 lines) | stat: -rw-r--r-- 2,805 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
IF(CLP_INCLUDE_DIR AND CLP2_INCLUDE_DIR AND CLP_LIBRARY AND CLP2_LIBRARY AND CLP3_LIBRARY)
    SET(CLP_FOUND TRUE)
ELSE(CLP_INCLUDE_DIR AND CLP2_INCLUDE_DIR AND CLP_LIBRARY AND CLP2_LIBRARY AND CLP3_LIBRARY)
	FIND_LIBRARY(CLP_LIBRARY NAMES Clp 
		PATHS
		/usr/lib/x86_64-linux-gnu
		/usr/lib
	    )

	FIND_LIBRARY(CLP2_LIBRARY NAMES OsiClp 
		PATHS
		/usr/lib/x86_64-linux-gnu
		/usr/lib
	    )

	FIND_LIBRARY(CLP3_LIBRARY NAMES CoinUtils
		PATHS
		/usr/lib/x86_64-linux-gnu
		/usr/lib
	    )


	FIND_PATH(
	      CLP_INCLUDE_DIR ClpSimplexDual.hpp
	    PATHS
	      /usr/include/coin
	    )

	FIND_PATH(
	      CLP2_INCLUDE_DIR coinutils.pc
	    PATHS
	      /usr/lib/x86_64-linux-gnu/pkgconfig
	      /usr/lib/pkgconfig
	    )
    
    IF(CLP_INCLUDE_DIR AND CLP2_INCLUDE_DIR AND CLP_LIBRARY AND CLP2_LIBRARY AND CLP3_LIBRARY)
        SET(CLP_FOUND TRUE)
        MESSAGE(STATUS "Found CLP: ${CLP_INCLUDE_DIR}, ${CLP_LIBRARY}")
    ELSE(CLP_INCLUDE_DIR AND CLP2_INCLUDE_DIR AND CLP_LIBRARY AND CLP2_LIBRARY AND CLP3_LIBRARY)
        SET(CLP_FOUND FALSE)
        MESSAGE(STATUS "CLP not found.")
    ENDIF(CLP_INCLUDE_DIR AND CLP2_INCLUDE_DIR AND CLP_LIBRARY AND CLP2_LIBRARY AND CLP3_LIBRARY)
    
    MARK_AS_ADVANCED(CLP_INCLUDE_DIR CLP2_INCLUDE_DIR CLP_LIBRARY CLP2_LIBRARY CLP3_LIBRARY)
ENDIF(CLP_INCLUDE_DIR AND CLP2_INCLUDE_DIR AND CLP_LIBRARY AND CLP2_LIBRARY AND CLP3_LIBRARY)

if(CLP_FOUND)
  file(READ "${CLP_INCLUDE_DIR}/ClpConfig.h" _clp_version_header)
  string(REGEX MATCH "define[ \t]+CLP_VERSION_MAJOR[ \t]+([0-9]+)" _clp_world_version_match "${_clp_version_header}")
  set(CLP_WORLD_VERSION "${CMAKE_MATCH_1}")
  string(REGEX MATCH "define[ \t]+CLP_VERSION_MINOR[ \t]+([0-9]+)" _clp_major_version_match "${_clp_version_header}")
  set(CLP_MAJOR_VERSION "${CMAKE_MATCH_1}")
  string(REGEX MATCH "define[ \t]+CLP_VERSION_RELEASE[ \t]+([0-9]+)" _clp_minor_version_match "${_clp_version_header}")
  set(CLP_MINOR_VERSION "${CMAKE_MATCH_1}")
  set(CLP_VERSION "${CLP_WORLD_VERSION}.${CLP_MAJOR_VERSION}.${CLP_MINOR_VERSION}")

  file(READ "${CLP_INCLUDE_DIR}/CoinUtilsConfig.h" _coinutils_version_header)
  string(REGEX MATCH "define[ \t]+COINUTILS_VERSION_MAJOR[ \t]+([0-9]+)" _coinutils_world_version_match "${_coinutils_version_header}")
  set(COINUTILS_WORLD_VERSION "${CMAKE_MATCH_1}")
  string(REGEX MATCH "define[ \t]+COINUTILS_VERSION_MINOR[ \t]+([0-9]+)" _coinutils_major_version_match "${_coinutils_version_header}")
  set(COINUTILS_MAJOR_VERSION "${CMAKE_MATCH_1}")
  string(REGEX MATCH "define[ \t]+COINUTILS_VERSION_RELEASE[ \t]+([0-9]+)" _coinutils_minor_version_match "${_coinutils_version_header}")
  set(COINUTILS_MINOR_VERSION "${CMAKE_MATCH_1}")
  set(COINUTILS_VERSION "${COINUTILS_WORLD_VERSION}.${COINUTILS_MAJOR_VERSION}.${COINUTILS_MINOR_VERSION}")

ENDIF(CLP_FOUND)