Commit 159077dd authored by Kenneth Moreland's avatar Kenneth Moreland
Browse files

Combine IceTCore and IceTStrategies libraries.

Changed the build system to include all of the strategies into the
IceTCore library.  The separation was mostly a coding convienience
on the library side.  It was rather silly for the user perspective
as you always used both libraries.  Also, this was becoming less
convienient as the core library really relies on things in the
stratgies library and you have to carefully pass pointers and
structures around.

This change is driven by some errors I am encountering that might
be caused by using uninitialized strategy objects.  My next step is
to just identify stratgies by enumerations.  This will get rid of
any such problems.
parent f94c16bc
......@@ -195,7 +195,6 @@ SET(ICET_LIBRARY_DIRS_CONFIG ${ICET_LIBRARY_DIR})
SET(ICET_BUILD_SETTINGS_FILE_CONFIG ${ICET_BINARY_DIR}/ICETBuildSettings.cmake)
SET(ICET_LIBRARY_DEPENDS_FILE ${ICET_BINARY_DIR}/ICETLibraryDepends.cmake)
GET_TARGET_PROPERTY(ICET_LIBRARY_FILE IceTCore LOCATION)
GET_TARGET_PROPERTY(ICET_STRATEGIES_LIBRARY_FILE IceTStrategies LOCATION)
GET_TARGET_PROPERTY(ICET_GL_LIBRARY_FILE IceTGL LOCATION)
GET_TARGET_PROPERTY(ICET_MPI_LIBRARY_FILE IceTMPI LOCATION)
CONFIGURE_FILE(${ICET_SOURCE_DIR}/IceTConfig.cmake.in
......@@ -209,8 +208,6 @@ SET(ICET_LIBRARY_DEPENDS_FILE
${CMAKE_INSTALL_PREFIX}${ICET_INSTALL_LIB_DIR}/ICETLibraryDepends.cmake)
GET_FILENAME_COMPONENT(ICET_LIBRARY_FILE "${ICET_LIBRARY_FILE}" NAME)
SET(ICET_LIBRARY_FILE "${CMAKE_INSTALL_PREFIX}${ICET_INSTALL_LIB_DIR}/${ICET_LIBRARY_FILE}")
GET_FILENAME_COMPONENT(ICET_STRATEGIES_LIBRARY_FILE "${ICET_STRATEGIES_LIBRARY_FILE}" NAME)
SET(ICET_STRATEGIES_LIBRARY_FILE "${CMAKE_INSTALL_PREFIX}${ICET_INSTALL_LIB_DIR}/${ICET_STRATEGIES_LIBRARY_FILE}")
GET_FILENAME_COMPONENT(ICET_GL_LIBRARY_FILE "${ICET_GL_LIBRARY_FILE}" NAME)
SET(ICET_GL_LIBRARY_FILE "${CMAKE_INSTALL_PREFIX}${ICET_INSTALL_LIB_DIR}/${ICET_GL_LIBRARY_FILE}")
GET_FILENAME_COMPONENT(ICET_MPI_LIBRARY_FILE "${ICET_MPI_LIBRARY_FILE}" NAME)
......
......@@ -32,7 +32,7 @@ SET(ICET_PATCH_VERSION "@ICET_PATCH_VERSION@")
SET(ICET_BUILD_SETTINGS_FILE "@ICET_BUILD_SETTINGS_FILE_CONFIG@")
# The IceT libraries
SET(ICET_CORE_LIBS "@ICET_LIBRARY_FILE@" "@ICET_STRATEGIES_LIBRARY_FILE@")
SET(ICET_CORE_LIBS "@ICET_LIBRARY_FILE@")
SET(ICET_GL_LIBS "@ICET_GL_LIBRARY_FILE@")
SET(ICET_MPI_LIBS "@ICET_MPI_LIBRARY_FILE@")
......
......@@ -93,8 +93,9 @@ structure. Besides the benefits of type safety, the old method assumed
that you would cast pointers to 32-bit integers, which quite simply would
not work on 64-bit machines.
Changed the names of the libraries from icet, icet_strategies, and icet_mpi
to IceTCore, IceTStrategies, and IceTMPI, respectively.
Changed the names of the libraries from icet and icet_mpi to IceTCore and
IceTMPI, respectively. The library icet_strategies is now rolled into the
IceTCore library.
Changed ICET_STRATEGY_SERIAL to ICET_STRATEGY_SEQUENTIAL.
......
......@@ -16,12 +16,22 @@ SET(ICET_SRCS
projections.c
draw.c
image.c
../strategies/common.c
../strategies/direct.c
../strategies/sequential.c
../strategies/split.c
../strategies/reduce.c
../strategies/vtree.c
../strategies/bswap.c
../strategies/tree.c
../strategies/automatic.c
)
ADD_LIBRARY(IceTCore ${ICET_SRCS})
IF(NOT ICET_INSTALL_NO_LIBRARIES)
INSTALL(TARGETS IceTCore
INSTALL(TARGETS IceTCore
RUNTIME DESTINATION ${ICET_INSTALL_BIN_DIR} COMPONENT RuntimeLibraries
LIBRARY DESTINATION ${ICET_INSTALL_LIB_DIR} COMPONENT RuntimeLibraries
ARCHIVE DESTINATION ${ICET_INSTALL_LIB_DIR} COMPONENT RuntimeLibraries)
......
......@@ -24,19 +24,16 @@
#if defined(WIN32) && defined(ICET_BUILD_SHARED_LIBS)
# ifdef IceTCore_EXPORTS
# define ICET_EXPORT __declspec( dllexport )
# define ICET_STRATEGY_EXPORT __declspec( dllexport )
# else
# define ICET_EXPORT __declspec( dllimport )
# define ICET_STRATEGY_EXPORT __declspec( dllimport )
# endif
# ifdef IceTGL_EXPORTS
# define ICET_GL_EXPORT __declspec( dllexport )
# else
# define ICET_GL_EXPORT __declspec( dllimport )
# endif
# ifdef IceTStrategies_EXPORTS
# define ICET_STRATEGY_EXPORT __declspec( dllexport )
# else
# define ICET_STRATEGY_EXPORT __declspec( dllimport )
# endif
# ifdef IceTMPI_EXPORTS
# define ICET_MPI_EXPORT __declspec( dllexport )
# else
......
......@@ -6,25 +6,8 @@
## of authorship are reproduced on all copies.
#
SET(ICET_STRATEGIES_SRCS
common.c
direct.c
sequential.c
split.c
reduce.c
vtree.c
bswap.c
tree.c
automatic.c
)
ADD_LIBRARY(IceTStrategies ${ICET_STRATEGIES_SRCS})
TARGET_LINK_LIBRARIES(IceTStrategies IceTCore)
IF(NOT ICET_INSTALL_NO_LIBRARIES)
INSTALL(TARGETS IceTStrategies
RUNTIME DESTINATION ${ICET_INSTALL_BIN_DIR} COMPONENT RuntimeLibraries
LIBRARY DESTINATION ${ICET_INSTALL_LIB_DIR} COMPONENT RuntimeLibraries
ARCHIVE DESTINATION ${ICET_INSTALL_LIB_DIR} COMPONENT RuntimeLibraries)
ENDIF(NOT ICET_INSTALL_NO_LIBRARIES)
# These source files are actually compiled in the Core IceT source
# directory. They are separated in a separate directory for convenience.
ADD_CUSTOM_TARGET(strategies_target ALL
DEPENDS IceTCore
)
......@@ -27,7 +27,6 @@ ADD_EXECUTABLE(icetTests_mpi ${Tests} ${UTIL_SRCS})
TARGET_LINK_LIBRARIES(icetTests_mpi
IceTCore
IceTGL
IceTStrategies
IceTMPI
${OPENGL_glu_LIBRARY}
${GLUT_LIBRARIES}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment