author | koda |
Tue, 19 Mar 2013 16:47:53 +0100 | |
branch | cmake_pascal |
changeset 8809 | 8ce66f1106f1 |
parent 8798 | 03d113d51062 |
child 8815 | c28fcd8ec138 |
permissions | -rw-r--r-- |
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
1 |
# This file sets the basic flags for the Pascal language in CMake. |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
2 |
# It also loads the available platform file for the system-compiler |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
3 |
# if it exists. |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
4 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
5 |
GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_Pascal_COMPILER} NAME_WE) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
6 |
SET(CMAKE_SYSTEM_AND_Pascal_COMPILER_INFO_FILE |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
7 |
${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
8 |
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
9 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
10 |
# This should be included before the _INIT variables are |
8752
48cf2ccb83c6
with lot of hackery, use add_executable on pascal files, SUCCSS
koda
parents:
8750
diff
changeset
|
11 |
# used to initialize the cache. Since the rule variables |
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
12 |
# have if blocks on them, users can still define them here. |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
13 |
# But, it should still be after the platform file so changes can |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
14 |
# be made to those values. |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
15 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
16 |
IF(CMAKE_USER_MAKE_RULES_OVERRIDE) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
17 |
INCLUDE(${CMAKE_USER_MAKE_RULES_OVERRIDE}) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
18 |
ENDIF(CMAKE_USER_MAKE_RULES_OVERRIDE) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
19 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
20 |
IF(CMAKE_USER_MAKE_RULES_OVERRIDE_Pascal) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
21 |
INCLUDE(${CMAKE_USER_MAKE_RULES_OVERRIDE_Pascal}) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
22 |
ENDIF(CMAKE_USER_MAKE_RULES_OVERRIDE_Pascal) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
23 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
24 |
# Create a set of shared library variable specific to Pascal |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
25 |
# For 90% of the systems, these are the same flags as the C versions |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
26 |
# so if these are not set just copy the flags from the c version |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
27 |
#IF(NOT CMAKE_SHARED_LIBRARY_CREATE_Ada_FLAGS) |
8770
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
28 |
#-dynamiclib -Wl,-headerpad_max_install_names for C |
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
29 |
# SET(CMAKE_SHARED_LIBRARY_CREATE_Ada_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS}) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
30 |
#ENDIF(NOT CMAKE_SHARED_LIBRARY_CREATE_Ada_FLAGS) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
31 |
|
8770
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
32 |
IF(NOT CMAKE_SHARED_LIBRARY_Pascal_FLAGS) |
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
33 |
#another similarity, fpc: -fPIC Same as -Cg |
8778 | 34 |
#(maybe required only for x86_64) |
8770
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
35 |
SET(CMAKE_SHARED_LIBRARY_Pascal_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS}) |
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
36 |
ENDIF(NOT CMAKE_SHARED_LIBRARY_Pascal_FLAGS) |
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
37 |
|
8770
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
38 |
IF(NOT CMAKE_SHARED_LIBRARY_LINK_Pascal_FLAGS) |
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
39 |
SET(CMAKE_SHARED_LIBRARY_LINK_Pascal_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS}) |
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
40 |
ENDIF(NOT CMAKE_SHARED_LIBRARY_LINK_Pascal_FLAGS) |
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
41 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
42 |
#IF(NOT CMAKE_SHARED_LIBRARY_RUNTIME_Ada_FLAG) |
8752
48cf2ccb83c6
with lot of hackery, use add_executable on pascal files, SUCCSS
koda
parents:
8750
diff
changeset
|
43 |
# SET(CMAKE_SHARED_LIBRARY_RUNTIME_Ada_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG}) |
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
44 |
#ENDIF(NOT CMAKE_SHARED_LIBRARY_RUNTIME_Ada_FLAG) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
45 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
46 |
#IF(NOT CMAKE_SHARED_LIBRARY_RUNTIME_Ada_FLAG_SEP) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
47 |
# SET(CMAKE_SHARED_LIBRARY_RUNTIME_Ada_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP}) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
48 |
#ENDIF(NOT CMAKE_SHARED_LIBRARY_RUNTIME_Ada_FLAG_SEP) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
49 |
|
8770
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
50 |
if(NOT CMAKE_SHARED_LIBRARY_RPATH_LINK_Pascal_FLAG) |
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
51 |
set(CMAKE_SHARED_LIBRARY_RPATH_LINK_Pascal_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG}) |
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
52 |
endif(NOT CMAKE_SHARED_LIBRARY_RPATH_LINK_Pascal_FLAG) |
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
53 |
|
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
54 |
# for most systems a module is the same as a shared library |
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
55 |
# so unless the variable CMAKE_MODULE_EXISTS is set just |
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
56 |
# copy the values from the LIBRARY variables |
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
57 |
if(NOT CMAKE_MODULE_EXISTS) |
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
58 |
set(CMAKE_SHARED_MODULE_Pascal_FLAGS ${CMAKE_SHARED_LIBRARY_Pascal_FLAGS}) |
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
59 |
set(CMAKE_SHARED_MODULE_CREATE_Pascal_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_Pascal_FLAGS}) |
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
60 |
endif() |
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
61 |
|
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
62 |
# repeat for modules |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
63 |
#IF(NOT CMAKE_SHARED_MODULE_CREATE_Ada_FLAGS) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
64 |
# SET(CMAKE_SHARED_MODULE_CREATE_Ada_FLAGS ${CMAKE_SHARED_MODULE_CREATE_C_FLAGS}) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
65 |
#ENDIF(NOT CMAKE_SHARED_MODULE_CREATE_Ada_FLAGS) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
66 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
67 |
#IF(NOT CMAKE_SHARED_MODULE_Ada_FLAGS) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
68 |
# SET(CMAKE_SHARED_MODULE_Ada_FLAGS ${CMAKE_SHARED_MODULE_C_FLAGS}) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
69 |
#ENDIF(NOT CMAKE_SHARED_MODULE_Ada_FLAGS) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
70 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
71 |
#IF(NOT CMAKE_SHARED_MODULE_RUNTIME_Ada_FLAG) |
8752
48cf2ccb83c6
with lot of hackery, use add_executable on pascal files, SUCCSS
koda
parents:
8750
diff
changeset
|
72 |
# SET(CMAKE_SHARED_MODULE_RUNTIME_Ada_FLAG ${CMAKE_SHARED_MODULE_RUNTIME_C_FLAG}) |
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
73 |
#ENDIF(NOT CMAKE_SHARED_MODULE_RUNTIME_Ada_FLAG) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
74 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
75 |
#IF(NOT CMAKE_SHARED_MODULE_RUNTIME_Ada_FLAG_SEP) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
76 |
# SET(CMAKE_SHARED_MODULE_RUNTIME_Ada_FLAG_SEP ${CMAKE_SHARED_MODULE_RUNTIME_C_FLAG_SEP}) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
77 |
#ENDIF(NOT CMAKE_SHARED_MODULE_RUNTIME_Ada_FLAG_SEP) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
78 |
|
8756 | 79 |
IF(NOT CMAKE_INCLUDE_FLAG_Pascal) |
80 |
#amazing, fpc: -I<x> Add <x> to include path |
|
81 |
SET(CMAKE_INCLUDE_FLAG_Pascal ${CMAKE_INCLUDE_FLAG_C}) |
|
82 |
ENDIF(NOT CMAKE_INCLUDE_FLAG_Pascal) |
|
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
83 |
|
8758
cb3b470f1000
better support for cmake directory and fpc output paths
koda
parents:
8756
diff
changeset
|
84 |
IF(NOT CMAKE_INCLUDE_FLAG_SEP_Pascal) |
cb3b470f1000
better support for cmake directory and fpc output paths
koda
parents:
8756
diff
changeset
|
85 |
SET(CMAKE_INCLUDE_FLAG_SEP_Pascal ${CMAKE_INCLUDE_FLAG_SEP_C}) |
cb3b470f1000
better support for cmake directory and fpc output paths
koda
parents:
8756
diff
changeset
|
86 |
ENDIF(NOT CMAKE_INCLUDE_FLAG_SEP_Pascal) |
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
87 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
88 |
# Copy C version of this flag which is normally determined in platform file. |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
89 |
IF(NOT CMAKE_SHARED_LIBRARY_SONAME_Pascal_FLAG) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
90 |
SET(CMAKE_SHARED_LIBRARY_SONAME_Pascal_FLAG ${CMAKE_SHARED_LIBRARY_SONAME_C_FLAG}) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
91 |
ENDIF(NOT CMAKE_SHARED_LIBRARY_SONAME_Pascal_FLAG) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
92 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
93 |
SET(CMAKE_VERBOSE_MAKEFILE FALSE CACHE BOOL "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo.") |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
94 |
|
8809
8ce66f1106f1
hm, CMAKE_C_COMPILER is not always defined apparently
koda
parents:
8798
diff
changeset
|
95 |
SET (CMAKE_Pascal_FLAGS "$ENV{FPFLAGS} ${CMAKE_Pascal_FLAGS_INIT}" CACHE STRING "Flags for Pascal compiler.") |
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
96 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
97 |
INCLUDE(CMakeCommonLanguageInclude) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
98 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
99 |
# now define the following rule variables |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
100 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
101 |
# CMAKE_Ada_CREATE_SHARED_LIBRARY |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
102 |
# CMAKE_Ada_CREATE_SHARED_MODULE |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
103 |
# CMAKE_Ada_CREATE_STATIC_LIBRARY |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
104 |
# CMAKE_Ada_COMPILE_OBJECT |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
105 |
# CMAKE_Ada_LINK_EXECUTABLE |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
106 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
107 |
# variables supplied by the generator at use time |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
108 |
# <TARGET> |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
109 |
# <TARGET_BASE> the target without the suffix |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
110 |
# <OBJECTS> |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
111 |
# <OBJECT> |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
112 |
# <LINK_LIBRARIES> |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
113 |
# <FLAGS> |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
114 |
# <LINK_FLAGS> |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
115 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
116 |
# Ada compiler information |
8752
48cf2ccb83c6
with lot of hackery, use add_executable on pascal files, SUCCSS
koda
parents:
8750
diff
changeset
|
117 |
# <CMAKE_Ada_COMPILER> |
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
118 |
# <CMAKE_SHARED_LIBRARY_CREATE_Ada_FLAGS> |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
119 |
# <CMAKE_SHARED_MODULE_CREATE_Ada_FLAGS> |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
120 |
# <CMAKE_Ada_LINK_FLAGS> |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
121 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
122 |
# Static library tools |
8752
48cf2ccb83c6
with lot of hackery, use add_executable on pascal files, SUCCSS
koda
parents:
8750
diff
changeset
|
123 |
# <CMAKE_AR> |
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
124 |
# <CMAKE_RANLIB> |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
125 |
|
8756 | 126 |
if (NOT EXECUTABLE_OUTPUT_PATH) |
127 |
set (EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}) |
|
128 |
endif (NOT EXECUTABLE_OUTPUT_PATH) |
|
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
129 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
130 |
# create an Ada shared library |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
131 |
IF(NOT CMAKE_Ada_CREATE_SHARED_LIBRARY) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
132 |
SET(CMAKE_Ada_CREATE_SHARED_LIBRARY |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
133 |
"<CMAKE_Ada_COMPILER> <CMAKE_SHARED_LIBRARY_Ada_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_Ada_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_Ada_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>" |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
134 |
) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
135 |
ENDIF(NOT CMAKE_Ada_CREATE_SHARED_LIBRARY) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
136 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
137 |
# create an Ada shared module just copy the shared library rule |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
138 |
IF(NOT CMAKE_Ada_CREATE_SHARED_MODULE) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
139 |
SET(CMAKE_Ada_CREATE_SHARED_MODULE ${CMAKE_Ada_CREATE_SHARED_LIBRARY}) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
140 |
ENDIF(NOT CMAKE_Ada_CREATE_SHARED_MODULE) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
141 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
142 |
# create an Ada static library |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
143 |
IF(NOT CMAKE_Ada_CREATE_STATIC_LIBRARY) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
144 |
SET(CMAKE_Ada_CREATE_STATIC_LIBRARY |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
145 |
"<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> " |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
146 |
"<CMAKE_RANLIB> <TARGET> ") |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
147 |
ENDIF(NOT CMAKE_Ada_CREATE_STATIC_LIBRARY) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
148 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
149 |
# compile a Pascal file into an object file |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
150 |
IF(NOT CMAKE_Pascal_COMPILE_OBJECT) |
8809
8ce66f1106f1
hm, CMAKE_C_COMPILER is not always defined apparently
koda
parents:
8798
diff
changeset
|
151 |
if(UNIX) |
8778 | 152 |
#when you have multiple ld installation make sure you get the one bundled with the system C compiler |
8809
8ce66f1106f1
hm, CMAKE_C_COMPILER is not always defined apparently
koda
parents:
8798
diff
changeset
|
153 |
INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-GNU-C.cmake OPTIONAL) |
8ce66f1106f1
hm, CMAKE_C_COMPILER is not always defined apparently
koda
parents:
8798
diff
changeset
|
154 |
if(CMAKE_C_COMPILER) |
8ce66f1106f1
hm, CMAKE_C_COMPILER is not always defined apparently
koda
parents:
8798
diff
changeset
|
155 |
get_filename_component(CMAKE_C_COMPILER_DIR ${CMAKE_C_COMPILER} PATH) |
8ce66f1106f1
hm, CMAKE_C_COMPILER is not always defined apparently
koda
parents:
8798
diff
changeset
|
156 |
set(CMAKE_Pascal_UNIX_FLAGS "-FD${CMAKE_C_COMPILER_DIR}") |
8ce66f1106f1
hm, CMAKE_C_COMPILER is not always defined apparently
koda
parents:
8798
diff
changeset
|
157 |
endif(CMAKE_C_COMPILER) |
8798 | 158 |
if(APPLE) |
159 |
#add user framework directory |
|
160 |
set(CMAKE_Pascal_UNIX_FLAGS "-Ff~/Library/Frameworks ${CMAKE_Pascal_UNIX_FLAGS}") |
|
161 |
if(CMAKE_OSX_SYSROOT) |
|
162 |
set(CMAKE_Pascal_UNIX_FLAGS "-XD${CMAKE_OSX_SYSROOT} ${CMAKE_Pascal_UNIX_FLAGS}") |
|
163 |
endif(CMAKE_OSX_SYSROOT) |
|
164 |
endif(APPLE) |
|
165 |
endif(UNIX) |
|
8778 | 166 |
SET(CMAKE_Pascal_COMPILE_OBJECT |
8798 | 167 |
"<CMAKE_Pascal_COMPILER> -Cn -FE${EXECUTABLE_OUTPUT_PATH} -FU${CMAKE_CURRENT_BINARY_DIR}/<OBJECT_DIR> -Fi${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_Pascal_UNIX_FLAGS} <FLAGS> <SOURCE>") |
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
168 |
ENDIF(NOT CMAKE_Pascal_COMPILE_OBJECT) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
169 |
|
8778 | 170 |
# link Pascal objects in a single executable |
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
171 |
IF(NOT CMAKE_Pascal_LINK_EXECUTABLE) |
8798 | 172 |
if(WIN32) |
173 |
set(CMAKE_Pascal_LINK_EXECUTABLE "${EXECUTABLE_OUTPUT_PATH}/ppas.bat") |
|
174 |
else(WIN32) |
|
8752
48cf2ccb83c6
with lot of hackery, use add_executable on pascal files, SUCCSS
koda
parents:
8750
diff
changeset
|
175 |
set(CMAKE_Pascal_LINK_EXECUTABLE "${EXECUTABLE_OUTPUT_PATH}/ppas.sh") |
8798 | 176 |
endif(WIN32) |
8770
53481d654691
partial conversion of pascal_flags to CMAKE_Pascal_FLAGS
koda
parents:
8758
diff
changeset
|
177 |
# SET(CMAKE_Pascal_LINK_EXECUTABLE "${CMAKE_Pascal_COMPILER} <CMAKE_Pascal_LINK_FLAGS> <LINK_FLAGS> <TARGET_BASE>.adb -cargs <FLAGS> -largs <LINK_LIBRARIES>") |
8750
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
178 |
ENDIF(NOT CMAKE_Pascal_LINK_EXECUTABLE) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
179 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
180 |
IF(CMAKE_Ada_STANDARD_LIBRARIES_INIT) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
181 |
SET(CMAKE_Ada_STANDARD_LIBRARIES "${CMAKE_Ada_STANDARD_LIBRARIES_INIT}" |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
182 |
CACHE STRING "Libraries linked by default with all Ada applications.") |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
183 |
MARK_AS_ADVANCED(CMAKE_Ada_STANDARD_LIBRARIES) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
184 |
ENDIF(CMAKE_Ada_STANDARD_LIBRARIES_INIT) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
185 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
186 |
IF(NOT CMAKE_NOT_USING_CONFIG_FLAGS) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
187 |
SET (CMAKE_Ada_FLAGS_DEBUG "${CMAKE_Ada_FLAGS_DEBUG_INIT}" CACHE STRING |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
188 |
"Flags used by the compiler during debug builds.") |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
189 |
SET (CMAKE_Ada_FLAGS_MINSIZEREL "${CMAKE_Ada_FLAGS_MINSIZEREL_INIT}" CACHE STRING |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
190 |
"Flags used by the compiler during release minsize builds.") |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
191 |
SET (CMAKE_Ada_FLAGS_RELEASE "${CMAKE_Ada_FLAGS_RELEASE_INIT}" CACHE STRING |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
192 |
"Flags used by the compiler during release builds (/MD /Ob1 /Oi /Ot /Oy /Gs will produce slightly less optimized but smaller files).") |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
193 |
SET (CMAKE_Ada_FLAGS_RELWITHDEBINFO "${CMAKE_Ada_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
194 |
"Flags used by the compiler during Release with Debug Info builds.") |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
195 |
ENDIF(NOT CMAKE_NOT_USING_CONFIG_FLAGS) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
196 |
|
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
197 |
MARK_AS_ADVANCED( |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
198 |
CMAKE_Pascal_FLAGS |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
199 |
CMAKE_Pascal_FLAGS_DEBUG |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
200 |
CMAKE_Pascal_FLAGS_MINSIZEREL |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
201 |
CMAKE_Pascal_FLAGS_RELEASE |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
202 |
CMAKE_Pascal_FLAGS_RELWITHDEBINFO |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
203 |
) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
204 |
SET(CMAKE_Pascal_INFORMATION_LOADED 1) |
d9e57426e759
barebone cmake config file to support pascal files, based off plplot's ada files
koda
parents:
diff
changeset
|
205 |