endif()
set(ocaml_flags "-lstdc++" "-ldopt" "-L${LLVM_LIBRARY_DIR}"
- "-ccopt" "-L\\$CAMLORIGIN/.."
- "-ccopt" "-Wl,-rpath,\\$CAMLORIGIN/.."
+ "-ccopt" "-L\\$CAMLORIGIN/../.."
+ "-ccopt" "-Wl,-rpath,\\$CAMLORIGIN/../.."
${ocaml_pkgs})
foreach( ocaml_dep ${ARG_OCAMLDEP} )
endforeach()
if( APPLE )
- set(ocaml_rpath "@executable_path/../../lib")
+ set(ocaml_rpath "@executable_path/../../../lib${LLVM_LIBDIR_SUFFIX}")
elseif( UNIX )
- set(ocaml_rpath "\\$ORIGIN/../../lib")
+ set(ocaml_rpath "\\$ORIGIN/../../../lib${LLVM_LIBDIR_SUFFIX}")
endif()
list(APPEND ocaml_flags "-ldopt" "-Wl,-rpath,${ocaml_rpath}")
OUTPUT "${bin}/${name}.odoc"
COMMAND "${OCAMLFIND}" "ocamldoc"
"-I" "${bin}"
- "-I" "${LLVM_LIBRARY_DIR}/ocaml/"
+ "-I" "${LLVM_LIBRARY_DIR}/ocaml/llvm/"
"-dump" "${bin}/${name}.odoc"
${ocaml_pkgs} ${ocaml_inputs}
DEPENDS ${ocaml_inputs} ${ocaml_outputs}
endforeach()
install(FILES ${install_files}
- DESTINATION lib/ocaml)
+ DESTINATION "${LLVM_OCAML_INSTALL_PATH}/llvm")
install(FILES ${install_shlibs}
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
GROUP_READ GROUP_EXECUTE
WORLD_READ WORLD_EXECUTE
- DESTINATION lib/ocaml)
+ DESTINATION "${LLVM_OCAML_INSTALL_PATH}/llvm")
foreach( install_file ${install_files} ${install_shlibs} )
get_filename_component(filename "${install_file}" NAME)
add_custom_command(TARGET "ocaml_${name}" POST_BUILD
COMMAND "${CMAKE_COMMAND}" "-E" "copy" "${install_file}"
- "${LLVM_LIBRARY_DIR}/ocaml/"
+ "${LLVM_LIBRARY_DIR}/ocaml/llvm/"
COMMENT "Copying OCaml library component ${filename} to intermediate area"
VERBATIM)
+ add_dependencies("ocaml_${name}" ocaml_make_directory)
endforeach()
endfunction()
+add_custom_target(ocaml_make_directory
+ COMMAND "${CMAKE_COMMAND}" "-E" "make_directory" "${LLVM_LIBRARY_DIR}/ocaml/llvm")
add_custom_target("ocaml_all")
-set_target_properties(ocaml_all PROPERTIES FOLDER "Misc")
\ No newline at end of file
+set_target_properties(ocaml_all PROPERTIES FOLDER "Misc")
llvm_lib_dir = os.path.join(llvm_obj_root, 'lib')
if llvm_lib_dir is not None:
- llvm_ocaml_lib = os.path.join(llvm_lib_dir, 'ocaml')
+ top_ocaml_lib = os.path.join(llvm_lib_dir, 'ocaml')
+ llvm_ocaml_lib = os.path.join(top_ocaml_lib, 'llvm')
if llvm_ocaml_lib is not None:
+ ocamlpath = os.path.pathsep.join((llvm_ocaml_lib, top_ocaml_lib))
if 'OCAMLPATH' in os.environ:
- ocamlpath = os.path.pathsep.join((llvm_ocaml_lib, os.environ['OCAMLPATH']))
- config.environment['OCAMLPATH'] = ocamlpath
- else:
- config.environment['OCAMLPATH'] = llvm_ocaml_lib
+ ocamlpath = os.path.pathsep.join((ocamlpath, os.environ['OCAMLPATH']))
+ config.environment['OCAMLPATH'] = ocamlpath
if 'CAML_LD_LIBRARY_PATH' in os.environ:
caml_ld_library_path = os.path.pathsep.join((llvm_ocaml_lib,