author | Ryan C. Gordon <icculus@icculus.org> |
Wed, 11 Feb 2009 21:28:48 -0500 | |
changeset 564 | c669568326fb |
parent 563 | d22551643fcb |
child 569 | 117d6e606c4e |
permissions | -rw-r--r-- |
35 | 1 |
CMAKE_MINIMUM_REQUIRED(VERSION 2.4) |
2 |
PROJECT(MojoShader) |
|
48 | 3 |
|
455
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
4 |
EXECUTE_PROCESS( |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
5 |
COMMAND hg tip --template {rev} |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
6 |
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
7 |
RESULT_VARIABLE HGVERSION_RC |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
8 |
OUTPUT_VARIABLE MOJOSHADER_VERSION |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
9 |
ERROR_QUIET |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
10 |
OUTPUT_STRIP_TRAILING_WHITESPACE |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
11 |
) |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
12 |
EXECUTE_PROCESS( |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
13 |
COMMAND hg tip --template hg-{rev}:{node|short} |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
14 |
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
15 |
RESULT_VARIABLE HGVERSION_RC |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
16 |
OUTPUT_VARIABLE MOJOSHADER_CHANGESET |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
17 |
ERROR_QUIET |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
18 |
OUTPUT_STRIP_TRAILING_WHITESPACE |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
19 |
) |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
20 |
|
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
21 |
WRITE_FILE( |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
22 |
"${CMAKE_CURRENT_SOURCE_DIR}/mojoshader_version.h" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
23 |
"/* This file was autogenerated. Do not edit! */\n" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
24 |
"#ifndef _INCL_MOJOSHADER_VERSION_H_\n" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
25 |
"#define _INCL_MOJOSHADER_VERSION_H_\n" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
26 |
"#define MOJOSHADER_VERSION ${MOJOSHADER_VERSION}\n" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
27 |
"#define MOJOSHADER_CHANGESET \"${MOJOSHADER_CHANGESET}\"\n" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
28 |
"#endif\n" |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
29 |
) |
d99f47386d51
Generate MOJOSHADER_VERSION, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
423
diff
changeset
|
30 |
|
48 | 31 |
IF(CMAKE_COMPILER_IS_GNUCC) |
32 |
ADD_DEFINITIONS(-Wall -ggdb3) |
|
33 |
ENDIF(CMAKE_COMPILER_IS_GNUCC) |
|
34 |
||
52 | 35 |
# testparse uses this when I'm looking at memory usage patterns. |
36 |
#ADD_DEFINITIONS(-DMOJOSHADER_DEBUG_MALLOC=1) |
|
48 | 37 |
|
254 | 38 |
IF(MSVC) |
39 |
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS=1) |
|
40 |
ADD_DEFINITIONS(-TP) # force .c files to compile as C++. |
|
41 |
ENDIF(MSVC) |
|
42 |
||
465
0a75f98f785b
Initial work on assembler. Not even close to done.
Ryan C. Gordon <icculus@icculus.org>
parents:
455
diff
changeset
|
43 |
ADD_LIBRARY(mojoshader STATIC |
0a75f98f785b
Initial work on assembler. Not even close to done.
Ryan C. Gordon <icculus@icculus.org>
parents:
455
diff
changeset
|
44 |
mojoshader.c |
555
940821555fda
Initial work on preprocessor. Not yet complete!
Ryan C. Gordon <icculus@icculus.org>
parents:
473
diff
changeset
|
45 |
mojoshader_preprocessor.c |
940821555fda
Initial work on preprocessor. Not yet complete!
Ryan C. Gordon <icculus@icculus.org>
parents:
473
diff
changeset
|
46 |
mojoshader_lexer.c |
465
0a75f98f785b
Initial work on assembler. Not even close to done.
Ryan C. Gordon <icculus@icculus.org>
parents:
455
diff
changeset
|
47 |
mojoshader_assembler.c |
0a75f98f785b
Initial work on assembler. Not even close to done.
Ryan C. Gordon <icculus@icculus.org>
parents:
455
diff
changeset
|
48 |
mojoshader_opengl.c |
0a75f98f785b
Initial work on assembler. Not even close to done.
Ryan C. Gordon <icculus@icculus.org>
parents:
455
diff
changeset
|
49 |
) |
415
25ca83d8bbd5
Build mojoshader.c and mojoshader_opengl.c into a static library.
Ryan C. Gordon <icculus@icculus.org>
parents:
406
diff
changeset
|
50 |
|
563
d22551643fcb
Added re2c step to build.
Ryan C. Gordon <icculus@icculus.org>
parents:
555
diff
changeset
|
51 |
ADD_CUSTOM_COMMAND( |
d22551643fcb
Added re2c step to build.
Ryan C. Gordon <icculus@icculus.org>
parents:
555
diff
changeset
|
52 |
OUTPUT mojoshader_lexer.c |
d22551643fcb
Added re2c step to build.
Ryan C. Gordon <icculus@icculus.org>
parents:
555
diff
changeset
|
53 |
DEPENDS mojoshader_lexer.re |
d22551643fcb
Added re2c step to build.
Ryan C. Gordon <icculus@icculus.org>
parents:
555
diff
changeset
|
54 |
COMMAND re2c |
d22551643fcb
Added re2c step to build.
Ryan C. Gordon <icculus@icculus.org>
parents:
555
diff
changeset
|
55 |
ARGS -s -o ${CMAKE_CURRENT_SOURCE_DIR}/mojoshader_lexer.c ${CMAKE_CURRENT_SOURCE_DIR}/mojoshader_lexer.re |
d22551643fcb
Added re2c step to build.
Ryan C. Gordon <icculus@icculus.org>
parents:
555
diff
changeset
|
56 |
) |
d22551643fcb
Added re2c step to build.
Ryan C. Gordon <icculus@icculus.org>
parents:
555
diff
changeset
|
57 |
|
333
2b36a1d72fa1
Wrote most of the arb1 OpenGL glue code.
Ryan C. Gordon <icculus@icculus.org>
parents:
328
diff
changeset
|
58 |
FIND_PACKAGE(SDL) |
169
7e9d90724cf8
Push parsed shaders through GLSL compiler to see what breaks.
Ryan C. Gordon <icculus@icculus.org>
parents:
153
diff
changeset
|
59 |
IF(SDL_FOUND) |
7e9d90724cf8
Push parsed shaders through GLSL compiler to see what breaks.
Ryan C. Gordon <icculus@icculus.org>
parents:
153
diff
changeset
|
60 |
INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR}) |
7e9d90724cf8
Push parsed shaders through GLSL compiler to see what breaks.
Ryan C. Gordon <icculus@icculus.org>
parents:
153
diff
changeset
|
61 |
ADD_DEFINITIONS(-DFINDERRORS_COMPILE_SHADERS=1) |
269 | 62 |
ADD_EXECUTABLE(glcaps glcaps.c) |
63 |
TARGET_LINK_LIBRARIES(glcaps ${SDL_LIBRARY}) |
|
415
25ca83d8bbd5
Build mojoshader.c and mojoshader_opengl.c into a static library.
Ryan C. Gordon <icculus@icculus.org>
parents:
406
diff
changeset
|
64 |
ADD_EXECUTABLE(bestprofile bestprofile.c) |
25ca83d8bbd5
Build mojoshader.c and mojoshader_opengl.c into a static library.
Ryan C. Gordon <icculus@icculus.org>
parents:
406
diff
changeset
|
65 |
TARGET_LINK_LIBRARIES(bestprofile mojoshader ${SDL_LIBRARY}) |
423
ee393c1cf3b4
Added availableprofiles.c ...
Ryan C. Gordon <icculus@icculus.org>
parents:
415
diff
changeset
|
66 |
ADD_EXECUTABLE(availableprofiles availableprofiles.c) |
ee393c1cf3b4
Added availableprofiles.c ...
Ryan C. Gordon <icculus@icculus.org>
parents:
415
diff
changeset
|
67 |
TARGET_LINK_LIBRARIES(availableprofiles mojoshader ${SDL_LIBRARY}) |
169
7e9d90724cf8
Push parsed shaders through GLSL compiler to see what breaks.
Ryan C. Gordon <icculus@icculus.org>
parents:
153
diff
changeset
|
68 |
ENDIF(SDL_FOUND) |
7e9d90724cf8
Push parsed shaders through GLSL compiler to see what breaks.
Ryan C. Gordon <icculus@icculus.org>
parents:
153
diff
changeset
|
69 |
|
415
25ca83d8bbd5
Build mojoshader.c and mojoshader_opengl.c into a static library.
Ryan C. Gordon <icculus@icculus.org>
parents:
406
diff
changeset
|
70 |
ADD_EXECUTABLE(testparse testparse.c) |
25ca83d8bbd5
Build mojoshader.c and mojoshader_opengl.c into a static library.
Ryan C. Gordon <icculus@icculus.org>
parents:
406
diff
changeset
|
71 |
TARGET_LINK_LIBRARIES(testparse mojoshader) |
25ca83d8bbd5
Build mojoshader.c and mojoshader_opengl.c into a static library.
Ryan C. Gordon <icculus@icculus.org>
parents:
406
diff
changeset
|
72 |
ADD_EXECUTABLE(testoutput testoutput.c) |
25ca83d8bbd5
Build mojoshader.c and mojoshader_opengl.c into a static library.
Ryan C. Gordon <icculus@icculus.org>
parents:
406
diff
changeset
|
73 |
TARGET_LINK_LIBRARIES(testoutput mojoshader) |
25ca83d8bbd5
Build mojoshader.c and mojoshader_opengl.c into a static library.
Ryan C. Gordon <icculus@icculus.org>
parents:
406
diff
changeset
|
74 |
ADD_EXECUTABLE(finderrors finderrors.c) |
25ca83d8bbd5
Build mojoshader.c and mojoshader_opengl.c into a static library.
Ryan C. Gordon <icculus@icculus.org>
parents:
406
diff
changeset
|
75 |
TARGET_LINK_LIBRARIES(finderrors mojoshader ${SDL_LIBRARY}) |
473
78c418bde2d2
Added assemble.c test program.
Ryan C. Gordon <icculus@icculus.org>
parents:
465
diff
changeset
|
76 |
ADD_EXECUTABLE(assemble assemble.c) |
78c418bde2d2
Added assemble.c test program.
Ryan C. Gordon <icculus@icculus.org>
parents:
465
diff
changeset
|
77 |
TARGET_LINK_LIBRARIES(assemble mojoshader) |
555
940821555fda
Initial work on preprocessor. Not yet complete!
Ryan C. Gordon <icculus@icculus.org>
parents:
473
diff
changeset
|
78 |
ADD_EXECUTABLE(preprocess preprocess.c) |
940821555fda
Initial work on preprocessor. Not yet complete!
Ryan C. Gordon <icculus@icculus.org>
parents:
473
diff
changeset
|
79 |
TARGET_LINK_LIBRARIES(preprocess mojoshader) |
1 | 80 |
|
81 |
# End of CMakeLists.txt ... |
|
82 |