Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
tsoc
openmm
Commits
8c73b063
Commit
8c73b063
authored
Sep 26, 2008
by
Mark Friedrichs
Browse files
Mods
parent
10fc2f21
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
157 additions
and
0 deletions
+157
-0
platforms/brook/brook-cmake/FindBrook.cmake
platforms/brook/brook-cmake/FindBrook.cmake
+157
-0
No files found.
platforms/brook/brook-cmake/FindBrook.cmake
0 → 100644
View file @
8c73b063
# - Look for the BrookGPU streaming extension to C language
#
# BROOK_FILE : .BR -> .CPP
# BROOK_INCLUDE_DIR : Include directory for Brook.hpp
# BROOK_C[XX]FLAGS : Flags needed to compile the produced CPP file
# BROOK_LIBRARIES : All needed libraries, including OpenGL for OGL backend
#
# Used internally :
# BROOK_CC : Location of BRCC
# BROOK_xxx_LIBRARY : Location of the various libraries used by brook
#
# ----------------------------------------------------------------------------
FIND_PATH
(
BROOK_INCLUDE_DIR brook
$ENV{BROOKDIR}/include
$ENV{BROOKROOT}/sdk/include
/usr/include/
/usr/local/include/
~/src/cvs/brook/include
~/src/brook/include
~/brook/include
)
SET
(
BROOK_CXXFLAGS
"-I
${
BROOK_INCLUDE_DIR
}
"
)
SET
(
BROOK_CFLAGS
"
${
BROOK_CXXFLAGS
}
"
)
FIND_PROGRAM
(
BROOK_CC brcc
$ENV{BROOKDIR}/bin
$ENV{BROOKROOT}/sdk/bin
/usr/bin/
/usr/local/bin/
~/src/cvs/brook/bin
~/src/brook/bin
~/brook/bin
)
# Search for all libraries
# - both BASE and RUNTIME TARGETS
# ----------------------------------------------------------------------------
FIND_LIBRARY
(
BROOK_brook_LIBRARY
NAMES
${
sub_lib
}
PATHS
$ENV{BROOKDIR}/lib
$ENV{BROOKDIR}/bin
$ENV{BROOKROOT}/sdk/lib
/usr/lib
/usr/local/lib
~/src/brook/bin
~/brook/bin
)
# if found, add to list
IF
(
BROOK_brook_LIBRARY
)
SET
(
BROOK_LIBRARIES
${
BROOK_LIBRARIES
}
${
BROOK_brook_LIBRARY
}
)
ENDIF
(
BROOK_brook_LIBRARY
)
# all individual libs are advanced settings
MARK_AS_ADVANCED
(
BROOK_brook_LIBRARY
)
# ----------------------------------------------------------------------------
IF
(
LOG
)
FILE
(
APPEND
${
LOG_FILE
}
"
\n
In FindBrook.cmake
\n
"
)
FILE
(
APPEND
${
LOG_FILE
}
"BROOK_INCLUDE_DIR=
${
BROOK_INCLUDE_DIR
}
\n
"
)
FILE
(
APPEND
${
LOG_FILE
}
"BROOK_CC=
${
BROOK_CC
}
\n
"
)
FILE
(
APPEND
${
LOG_FILE
}
"BROOK_brook_LIBRARY=
${
BROOK_brook_LIBRARY
}
\n
"
)
ENDIF
(
LOG
)
# ----------------------------------------------------------------------------
# check if includes and main lib are here
IF
(
BROOK_INCLUDE_DIR AND BROOK_brook_LIBRARY AND BROOK_CC
)
SET
(
BROOK_FOUND TRUE
)
GET_FILENAME_COMPONENT
(
BROOK_LIB_PATH
"
${
BROOK_brook_LIBRARY
}
"
PATH
)
# ----------------------------------------------------------------------------
IF
(
LOG
)
FILE
(
APPEND
${
LOG_FILE
}
"BROOK_LIB_PATH=
${
BROOK_LIB_PATH
}
\n
"
)
ENDIF
(
LOG
)
# ----------------------------------------------------------------------------
# Implementation to allow interpreting/compiling Brook files
MACRO
(
BROOK_FILE FILENAME
)
IF
(
LOG
)
FILE
(
APPEND
${
LOG_FILE
}
"1 In BROOK_FILE:
${
FILENAME
}
\n
"
)
ENDIF
(
LOG
)
# split input names
GET_FILENAME_COMPONENT
(
PATH
"
${
FILENAME
}
"
PATH
)
GET_FILENAME_COMPONENT
(
HEAD
"
${
FILENAME
}
"
NAME_WE
)
# without trailing ".BR"
# File names
SET
(
OUTPATH
"
${
CMAKE_CURRENT_BINARY_DIR
}
/src/gpu"
)
SET
(
BROOK_PREFIX
"
${
OUTPATH
}
/
${
HEAD
}
"
)
SET
(
OUTFILE
"
${
BROOK_PREFIX
}
.cpp"
)
# file produced by Brook
# SET(INFILE "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}") # canonical input name
SET
(
INFILE
"
${
FILENAME
}
"
)
# canonical input name
# ----------------------------------------------------------------------------
IF
(
LOG
)
FILE
(
APPEND
${
LOG_FILE
}
"In BROOK_FILE:
${
FILENAME
}
FILENAME
\n
"
)
FILE
(
APPEND
${
LOG_FILE
}
" Path=
${
PATH
}
HEAD=
${
HEAD
}
\n
"
)
FILE
(
APPEND
${
LOG_FILE
}
" OUTPATH=
${
OUTPATH
}
\n
BROOK_PREFIX=
${
BROOK_PREFIX
}
\n
"
)
FILE
(
APPEND
${
LOG_FILE
}
" OUTFILE=
${
OUTFILE
}
\n
INFILE=
${
INFILE
}
\n\n
"
)
ENDIF
(
LOG
)
# ----------------------------------------------------------------------------
# create output path, if it does not exist
IF
(
NOT EXISTS
"
${
OUTPATH
}
"
)
FILE
(
MAKE_DIRECTORY
"
${
OUTPATH
}
"
)
ENDIF
(
NOT EXISTS
"
${
OUTPATH
}
"
)
# Run Brook
ADD_CUSTOM_COMMAND
(
OUTPUT
"
${
OUTFILE
}
"
COMMAND
"
${
BROOK_CC
}
"
ARGS
"-o
${
BROOK_PREFIX
}
"
"
${
INFILE
}
"
DEPENDS
"
${
INFILE
}
"
)
# Flag file as generated
SET_SOURCE_FILES_PROPERTIES
(
"
${
OUTFILE
}
"
PROPERTIES GENERATED TRUE
)
# accumulate Brook cpp files
SET
(
BROOK_CPP_FILES
${
BROOK_CPP_FILES
}
${
OUTFILE
}
)
ENDMACRO
(
BROOK_FILE
)
ENDIF
(
BROOK_INCLUDE_DIR AND BROOK_brook_LIBRARY AND BROOK_CC
)
# Some verbosity
IF
(
NOT BROOK_FOUND
)
IF
(
BROOK_FIND_REQUIRED
)
MESSAGE
(
FATAL_ERROR
"Could not find BROOK"
)
ENDIF
(
BROOK_FIND_REQUIRED
)
ENDIF
(
NOT BROOK_FOUND
)
# ----------------------------------------------------------------------------
IF
(
LOG
)
FILE
(
APPEND
${
LOG_FILE
}
"BROOK_FOUND=
${
BROOK_FOUND
}
\n
"
)
FILE
(
APPEND
${
LOG_FILE
}
"
\n
Leaving FindBrook.cmake
\n
"
)
ENDIF
(
LOG
)
# ----------------------------------------------------------------------------
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment