summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Fonseca <jose.r.fonseca@gmail.com>2011-12-07 13:27:52 +0000
committerJosé Fonseca <jose.r.fonseca@gmail.com>2011-12-07 13:27:52 +0000
commit46d058aee0bbd5934ebd882fba556fdeb8de383d (patch)
tree54a5b6e44784ff160b0546fbff1c12c82e349d4e
parentdc92162939bda50fae79e139f599a4c3e8b95047 (diff)
cmake: Wrap glproc.hpp in a target to prevent concurrent generation.
Hopefully this does the trick.
-rwxr-xr-xCMakeLists.txt21
1 files changed, 16 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 270c2ef..67507e2 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -249,6 +249,11 @@ add_custom_command (
DEPENDS glproc.py dispatch.py specs/wglapi.py specs/glxapi.py specs/cglapi.py specs/eglapi.py specs/glesapi.py specs/glapi.py specs/gltypes.py specs/stdapi.py
)
+# Wrap glproc.hpp as a target to prevent the command from being executed
+# multiple times simulatenously, when the targets that depend on it are built
+# in parallel.
+add_custom_target (glproc DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp)
+
if (WIN32)
set (os os_win32.cpp)
set (glws_os glws_wgl.cpp)
@@ -376,11 +381,11 @@ if (WIN32)
DEPENDS wgltrace.py gltrace.py trace.py specs/wglapi.py specs/wglenum.py specs/glapi.py specs/glparams.py specs/gltypes.py specs/winapi.py specs/stdapi.py
)
add_library (wgltrace MODULE specs/opengl32.def
- ${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp
wgltrace.cpp
glcaps.cpp
glproc_gl.cpp
)
+ add_dependencies (wgltrace glproc)
set_target_properties (wgltrace PROPERTIES
PREFIX ""
OUTPUT_NAME opengl32
@@ -398,12 +403,13 @@ elseif (APPLE)
)
add_library (cgltrace SHARED
- ${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp
cgltrace.cpp
glcaps.cpp
glproc_gl.cpp
)
+ add_dependencies (cgltrace glproc)
+
set_target_properties (cgltrace PROPERTIES
# OpenGL framework name
PREFIX "" OUTPUT_NAME "OpenGL" SUFFIX ""
@@ -425,12 +431,13 @@ else ()
)
add_library (glxtrace SHARED
- ${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp
glxtrace.cpp
glcaps.cpp
glproc_gl.cpp
)
+ add_dependencies (glxtrace glproc)
+
set_target_properties (glxtrace PROPERTIES
# avoid the default "lib" prefix
PREFIX ""
@@ -456,12 +463,13 @@ if (EGL_FOUND)
)
add_library (egltrace SHARED
- ${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp
egltrace.cpp
glcaps.cpp
glproc_egl.cpp
)
+ add_dependencies (egltrace glproc)
+
set_property (
TARGET egltrace
APPEND
@@ -499,7 +507,6 @@ add_custom_command (
)
set (retrace_sources
- ${CMAKE_CURRENT_BINARY_DIR}/glproc.hpp
glretrace_gl.cpp
glretrace_cgl.cpp
glretrace_glx.cpp
@@ -519,6 +526,8 @@ add_executable (glretrace
glproc_gl.cpp
)
+add_dependencies (glretrace glproc)
+
set_property (
TARGET glretrace
APPEND
@@ -556,6 +565,8 @@ if (EGL_FOUND AND NOT WIN32 AND NOT APPLE)
glproc_egl.cpp
)
+ add_dependencies (eglretrace glproc)
+
set_property (
TARGET eglretrace
APPEND