<div dir="ltr">Some additional info.<div><br></div><div>Here is my cmakelists.txt for the vector3_scalar module:</div><div><div>PROJECT(vector3_scalar)</div><div>SET(CMAKE_MACOSX_RPATH 1)</div><div><br></div><div>INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../common)</div><div><br></div><div>SET(HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../common/common_structs.h) </div><div>SET(SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/vector3_scalar.c ${HEADER_FILES})</div><div><br></div><div>ADD_LIBRARY(vector3_scalar SHARED ${SRC_FILES})</div></div><div><br></div><div><br></div><div>now my cmakelists.txt for my matrix4_scalar module. This one depends on vector3_scalar</div><div><br></div><div><div>PROJECT(matrix4_scalar)</div><div>SET(CMAKE_MACOSX_RPATH 1)</div><div><br></div><div>INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../common </div><div>    ${CMAKE_CURRENT_SOURCE_DIR}/../vector3_scalar</div><div>    ${CMAKE_CURRENT_SOURCE_DIR}/../vector3_scalar/headers)</div><div><br></div><div>SET(HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/../common/common_structs.h</div><div>    ${CMAKE_CURRENT_SOURCE_DIR}/../vector3_scalar/headers/vector3_scalar.h</div><div>    ${CMAKE_CURRENT_SOURCE_DIR}/headers/matrix4_scalar.h)</div><div><br></div><div>SET(SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/matrix4_scalar.c ${HEADER_FILES})</div><div><br></div><div>ADD_LIBRARY(matrix4_scalar SHARED ${SRC_FILES})</div><div><br></div><div>TARGET_LINK_LIBRARIES(matrix4_scalar vector3_scalar)</div></div><div><br></div><div>I am having trouble because when running cmake I get this error that says no rule to make target</div><div><br></div><div><div>Scanning dependencies of target vector3_scalar</div><div>[ 25%] Building C object source/core_math/vector3_scalar/CMakeFiles/vector3_scalar.dir/sr</div><div>c/vector3_scalar.c.o</div><div>[ 50%] Linking C shared library $(CMAKE_BINARY_DIR)/lib/libvector3_scalar.dylib</div><div>[ 50%] Built target vector3_scalar</div><div>Scanning dependencies of target matrix4_scalar</div><div>[ 75%] Building C object source/core_math/matrix4_scalar/CMakeFiles/matrix4_scalar.dir/sr</div><div>c/matrix4_scalar.c.o</div><div>make[2]: *** No rule to make target `source/core_math/vector3_scalar//Users/blubee/SDL/pr</div><div>oject/build/lib/libvector3_scalar.dylib', needed by `source/core_math/matrix4_scalar//Use</div><div>rs/blubee/SDL/project/build/lib/libmatrix4_scalar.dylib'.  Stop.</div><div>make[1]: *** [source/core_math/matrix4_scalar/CMakeFiles/matrix4_scalar.dir/all] Error 2</div><div>make: *** [all] Error 2</div></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 19, 2015 at 5:58 AM, Owen Alanzo Hogarth <span dir="ltr"><<a href="mailto:gurenchan@gmail.com" target="_blank">gurenchan@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I am having some trouble with my cmake build. I recently redesigned the physical layout of my files so that it'll be a bit easier to maintain in the long run.<div><br></div><div>I have my project structure setup like this.</div><div><br></div><div>MAIN_PROJECT/</div><div>project/main.c # this is the executable</div><div>resources/...    # a folder filled with resources </div><div>source/</div><div>source/moduleA/moduleA.h #includes all headers for this module</div><div>                                             #a user would just import moduleA.h</div><div><br></div><div>source/moduleA/headers/header1.h header2.h<br></div><div>source/moduleA/src/source1.c  source2.c<br></div><div>source/moduleA/common/common_structs.h #holds common structs for<br></div><div>                                                                        #all src files in this module</div><div><br></div><div><br></div><div>with my project re-organized like this and try to build my shared libraries I get no output.</div><div><br></div><div>For example main cmakelists.txt file</div><div><br></div><div><div>PROJECT(project)</div><div>CMAKE_MINIMUM_REQUIRED(VERSION 2.8)</div><div><br></div><div>SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY $(CMAKE_BINARY_DIR)/lib)</div><div>SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY $(CMAKE_BINARY_DIR)/lib)</div><div>SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY $(CMAKE_BINARY_DIR)/bin)</div><div><br></div><div>SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules)</div><div><br></div><div>ADD_SUBDIRECTORY(source)</div><div><br></div><div>FILE(COPY ${CMAKE_CURRENT_SOURCE_DIR}/resources/ DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin/resources/)</div></div><div><br></div><div>this is one module within the source folder, a matrix4</div><div><br></div><div><div>PROJECT(matrix4_scalar)</div><div><br></div><div>INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/../common")</div><div>INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/../vector3_scalar/headers/vector3_scalar.h")<br></div><div><br></div><div>SET(HEADER_FILES "${CMAKE_CURRENT_SOURCE_DIR}/../common/common_structs.h" "${CMAKE_CURRENT_SOURCE_DIR}/../vector3_scalar/headers/vector3_scalar.h")</div><div><br></div><div><br></div><div>SET(SRC_FILES src/matrix4_scalar.c ${HEADER_FILES})</div><div><br></div><div>ADD_LIBRARY(matrix4_scalar SHARED ${SRC_FILES})</div><div><br></div><div>TARGET_LINK_LIBRARIES(matrix4_scalar vector3_scalar)</div></div><div><br></div><div><br></div><div><br></div><div>The vector3 class is built in a similar way but has no outside dependencies except for the common_struct.h header file. </div><div><br></div><div>This matrix class depends on the vector3 class so I have it as a target link library.</div><div><br></div><div>When I build like this I get no output to my lib directories and I am not sure what's going on.</div></div>
</blockquote></div><br></div>