From c67aacb7ca0268ca174e3fc97202385ce4ad421f Mon Sep 17 00:00:00 2001 From: Daniel Rossberg <33295041+drossberg@users.noreply.github.com> Date: Wed, 6 Aug 2008 08:08:31 +0000 Subject: [PATCH] revive the CMake build (brlcad.dll) svn:revision:32278 svn:branch:pre-7-12-6 svn:account:d_rossberg --- misc/win32-msvc/CMakeLists.txt | 27 ++++ misc/win32-msvc/Dll/BrlcadCore.def | 196 ++++++++++++++++++++++++ misc/win32-msvc/Dll/CMakeLists.txt | 65 ++++++++ src/librt/CMakeLists.txt | 2 - src/libwdb/CMakeLists.txt | 38 +++++ src/other/libregex/CMakeLists.txt | 12 ++ src/other/libz/CMakeLists.txt | 16 ++ src/other/openNURBS/CMakeLists.txt | 126 +++++++++++++++ src/other/tcl/generic/CMakeLists.txt | 73 +++++++++ src/other/tcl/libtommath/CMakeLists.txt | 63 ++++++++ src/other/tcl/win/CMakeLists.txt | 17 ++ 11 files changed, 633 insertions(+), 2 deletions(-) create mode 100644 misc/win32-msvc/Dll/BrlcadCore.def diff --git a/misc/win32-msvc/CMakeLists.txt b/misc/win32-msvc/CMakeLists.txt index e69de29bb2d..5d322ca0324 100644 --- a/misc/win32-msvc/CMakeLists.txt +++ b/misc/win32-msvc/CMakeLists.txt @@ -0,0 +1,27 @@ +cmake_minimum_required(VERSION 2.6) + +project(brlcad) + +set(BUILD_SHARED_LIBS OFF) + +add_definitions(-DOBJ_BREP) + +add_subdirectory(../../src/other/libregex .) +add_subdirectory(../../src/other/libz .) +add_subdirectory(../../src/other/openNURBS .) +add_subdirectory(../../src/other/tcl .) + +add_subdirectory(../../include/conf .) +add_subdirectory(../../src/libbn .) +add_subdirectory(../../src/libbu .) +add_subdirectory(../../src/librt .) +add_subdirectory(../../src/libged .) +add_subdirectory(../../src/libsysv .) +add_subdirectory(../../src/libwdb .) + +# build DLL +add_subdirectory(Dll .) + +# buld tools +add_subdirectory(../../src/conv .) +add_subdirectory(../../src/conv/3dm .) diff --git a/misc/win32-msvc/Dll/BrlcadCore.def b/misc/win32-msvc/Dll/BrlcadCore.def new file mode 100644 index 00000000000..bbf5ed8510c --- /dev/null +++ b/misc/win32-msvc/Dll/BrlcadCore.def @@ -0,0 +1,196 @@ +EXPORTS + +bn_3pts_collinear +bn_3pts_distinct +bn_mat_angles +bn_mat_det3 +bn_mat_determinant +bn_mat_identity +bn_mat_inv +bn_mat_mul2 +bn_mat_print +bn_mk_plane_3pts +bn_mkpoint_3planes +bn_pt3_pt3_equal + +create_vert_tree +Add_vert +clean_vert_tree + +bu_avs_free +bu_avs_get +bu_badmagic +bu_bitv_clear +bu_bitv_free +bu_bitv_new +bu_bitv_shift +bu_bitv_to_hex +bu_bomb +bu_calloc +bu_debug +bu_exit +bu_fgets +bu_file_exists +bu_free_external +bu_free +bu_getopt +bu_glong +bu_hex_to_bitv +bu_jmpbuf +bu_log +bu_malloc +bu_mem_barriercheck +bu_optarg +bu_optind +bu_plong +bu_printb +bu_prmem +bu_ptbl_free +bu_ptbl_init +bu_ptbl_ins +bu_ptbl_reset +bu_ptbl +bu_ptbl_rm +bu_realloc +bu_strlcatm +bu_strlcpym +bu_struct_parse +bu_strdupm +bu_setjmp_valid +bu_units_conversion +bu_units_string +bu_vls_addr +bu_vls_free +bu_vls_init +bu_vls_printf +bu_vls_strcat +bu_vls_strcpy +bu_vls_strgrab +bu_vls_trunc + +db5_get_attributes +db5_header_is_valid +db_ck_v4gift_tree +db_close +db_dirbuild +db_flatten_tree +db_free_external +db_free_tree +db_lookup +db_mkgift_tree +db_non_union_push +db_open +db_tree_nleaves +db_update_nref +db_walk_tree + +mk_add_pipe_pt +mk_addmember +mk_arb8 +mk_arbn +mk_ars +mk_bot +mk_bot_from_nmg +mk_brep +mk_cline +mk_comb +mk_conv2mm +mk_ehy +mk_ell +mk_epa +mk_eto +mk_extrusion +mk_freemembers +mk_grip +mk_half +mk_id +mk_id_editunits +mk_id_units +mk_nmg +mk_particle +mk_pipe_init +mk_pipe_free +mk_pipe +mk_rcc +mk_region1 +mk_rhc +mk_rpc +mk_rpp +mk_sketch +mk_sph +mk_tgc +mk_tor +mk_trc_h +mk_trc_top +mk_write_color_table + +nmg_booltree_leaf_tess +nmg_break_edges +nmg_close_shell +nmg_cmface +nmg_dup_shell +nmg_find_model +nmg_fix_normals +nmg_fu_planeeqn +nmg_gluefaces +nmg_in_vert +nmg_jf +nmg_km +nmg_ks +nmg_make_faces_within_tol +nmg_mirror_model +nmg_mm +nmg_model_vertex_fuse +nmg_mrsv +nmg_open_shells_connect +nmg_pr_fu_briefly +nmg_propagate_normals +nmg_region_a +nmg_reverse_face +nmg_reverse_face_and_radials +nmg_shell_a +nmg_shell_coplanar_face_merge +nmg_simplify_loop +nmg_simplify_shell +nmg_triangulate_model +nmg_vertex_gv +nmg_vertex_tabulate +nmg_vmodel + +pdv_3cont +pdv_3move + +regexec +regcomp + +rt_bot_condense +rt_bot_face_fuse +rt_bot_smooth +rt_bot_vertex_fuse +rt_clean +rt_color_addrec +rt_comb_ifree +rt_db_free_internal +rt_db_get_internal +rt_db_put_internal +rt_dirbuild +rt_dsp_ifree +rt_ebm_ifree +rt_free_rti +rt_functab +rt_gettree +rt_g +rt_init_resource +rt_initial_tree_state +rt_pg_to_bot +rt_prep +rt_shootray +rt_uniresource +rt_vol_ifree + +wdb_close +wdb_create_cmd +wdb_export +wdb_fopen +wdb_init_obj +wdb_put_internal diff --git a/misc/win32-msvc/Dll/CMakeLists.txt b/misc/win32-msvc/Dll/CMakeLists.txt index e69de29bb2d..b86892818d1 100644 --- a/misc/win32-msvc/Dll/CMakeLists.txt +++ b/misc/win32-msvc/Dll/CMakeLists.txt @@ -0,0 +1,65 @@ +# write brlcadrc_defines.h +file(READ ../../../include/conf/MAJOR majorVersionNumber) +file(READ ../../../include/conf/MINOR minorVersionNumber) +file(READ ../../../include/conf/PATCH patchVersionNumber) + +file(WRITE brlcadrc_defines.h + "#define BRLCAD_DLL_RC_MAJOR ${majorVersionNumber}" + "#define BRLCAD_DLL_RC_MINOR ${minorVersionNumber}" + "#define BRLCAD_DLL_RC_PATCH ${patchVersionNumber}" +) + + +# for all targets +include_directories( + ../../../include + ../../../src/other/tcl/generic +) + + +# build the brlcad.dll +set(BRLCAD_SOURCES + TclDummies.c + brlcad.def + brlcad.rc +) + +add_library(brlcad SHARED ${BRLCAD_SOURCES}) + +target_link_libraries(brlcad + libbn + libbu + libged + libregex + librt + libsysv + libwdb + libz + openNURBS +) + +set_property(TARGET brlcad PROPERTY LINK_INTERFACE_LIBRARIES "") + + +# build the BrlcadCore.dll +set(BRLCADCORE_SOURCES + BrlcadCore.def + BrlcadCore.rc +) + +add_library(BrlcadCore SHARED ${BRLCADCORE_SOURCES}) + +target_link_libraries(BrlcadCore + libbn + libbu + libged + libregex + librt + libsysv + libwdb + libz + openNURBS + tcl85 +) + +set_property(TARGET BrlcadCore PROPERTY LINK_INTERFACE_LIBRARIES "") diff --git a/src/librt/CMakeLists.txt b/src/librt/CMakeLists.txt index 7d1495b741c..757141b1e11 100644 --- a/src/librt/CMakeLists.txt +++ b/src/librt/CMakeLists.txt @@ -5,7 +5,6 @@ set(LIBRT_SOURCES bool.c bundle.c cmd.c - constraint.c cut.c db5_alloc.c db5_bin.c @@ -110,7 +109,6 @@ set(LIBRT_SOURCES primitives/pipe/pipe.c primitives/poly/poly.c primitives/rec/rec.c - primitives/revolve/revolve.c primitives/rhc/rhc.c primitives/rpc/rpc.c primitives/sketch/sketch.c diff --git a/src/libwdb/CMakeLists.txt b/src/libwdb/CMakeLists.txt index e69de29bb2d..5532a71f3d6 100644 --- a/src/libwdb/CMakeLists.txt +++ b/src/libwdb/CMakeLists.txt @@ -0,0 +1,38 @@ +set(LIBWDB_SOURCES + brep.cpp + arbn.c + ars.c + bot.c + cline.c + dsp.c + dynamic_geometry.c + ebm.c + export.c + extr.c + id.c + mater.c + nmg.c + nurb.c + pipe.c + reg.c + skt.c + submodel.c + units.c + vol.c + wdb.c +) + +include_directories( + ../../include + ../other/libz + ../other/openNURBS + ../other/tcl/generic +) + +add_definitions( + -DHAVE_CONFIG_H + -DBRLCADBUILD + -DON_DLL_IMPORTS +) + +add_library(libwdb ${LIBWDB_SOURCES}) diff --git a/src/other/libregex/CMakeLists.txt b/src/other/libregex/CMakeLists.txt index e69de29bb2d..7d276ee316a 100644 --- a/src/other/libregex/CMakeLists.txt +++ b/src/other/libregex/CMakeLists.txt @@ -0,0 +1,12 @@ +set(LIBREGEX_SOURCES + regcomp.c + regerror.c + regexec.c + regfree.c +) + +include_directories( + ../../../include +) + +add_library(libregex ${LIBREGEX_SOURCES}) diff --git a/src/other/libz/CMakeLists.txt b/src/other/libz/CMakeLists.txt index e69de29bb2d..76fbcfcad17 100644 --- a/src/other/libz/CMakeLists.txt +++ b/src/other/libz/CMakeLists.txt @@ -0,0 +1,16 @@ +set(LIBZ_SOURCES + adler32.c + compress.c + crc32.c + deflate.c + gzio.c + infback.c + inffast.c + inflate.c + inftrees.c + trees.c + uncompr.c + zutil.c +) + +add_library(libz ${LIBZ_SOURCES}) diff --git a/src/other/openNURBS/CMakeLists.txt b/src/other/openNURBS/CMakeLists.txt index e69de29bb2d..d2d7c6ae16e 100644 --- a/src/other/openNURBS/CMakeLists.txt +++ b/src/other/openNURBS/CMakeLists.txt @@ -0,0 +1,126 @@ +set(OPENNURBS_SOURCES + opennurbs_3dm_attributes.cpp + opennurbs_3dm_properties.cpp + opennurbs_3dm_settings.cpp + opennurbs_annotation.cpp + opennurbs_annotation2.cpp + opennurbs_arc.cpp + opennurbs_arccurve.cpp + opennurbs_archive.cpp + opennurbs_array.cpp + opennurbs_basic.cpp + opennurbs_bezier.cpp + opennurbs_beziervolume.cpp + opennurbs_bitmap.cpp + opennurbs_bounding_box.cpp + opennurbs_brep.cpp + opennurbs_brep_changesrf.cpp + opennurbs_brep_extrude.cpp + opennurbs_brep_io.cpp + opennurbs_brep_isvalid.cpp + opennurbs_brep_kinky.cpp + opennurbs_brep_tools.cpp + opennurbs_brep_v2valid.cpp + opennurbs_circle.cpp + opennurbs_color.cpp + opennurbs_cone.cpp + opennurbs_crc.cpp + opennurbs_curve.cpp + opennurbs_curveonsurface.cpp + opennurbs_curveproxy.cpp + opennurbs_cylinder.cpp + opennurbs_defines.cpp + opennurbs_detail.cpp + opennurbs_dimstyle.cpp + opennurbs_ellipse.cpp + opennurbs_error.cpp + opennurbs_error_message.cpp + opennurbs_evaluate_nurbs.cpp + opennurbs_extensions.cpp + opennurbs_font.cpp + opennurbs_geometry.cpp + opennurbs_group.cpp + opennurbs_hatch.cpp + opennurbs_instance.cpp + opennurbs_intersect.cpp + opennurbs_knot.cpp + opennurbs_layer.cpp + opennurbs_light.cpp + opennurbs_line.cpp + opennurbs_linecurve.cpp + opennurbs_linetype.cpp + opennurbs_massprop.cpp + opennurbs_material.cpp + opennurbs_math.cpp + opennurbs_matrix.cpp + opennurbs_memory.c + opennurbs_memory_util.c + opennurbs_mesh.cpp + opennurbs_mesh_tools.cpp + opennurbs_morph.cpp + opennurbs_nurbscurve.cpp + opennurbs_nurbssurface.cpp + opennurbs_nurbsvolume.cpp + opennurbs_object.cpp + opennurbs_object_history.cpp + opennurbs_objref.cpp + opennurbs_offsetsurface.cpp + opennurbs_optimize.cpp + opennurbs_plane.cpp + opennurbs_planesurface.cpp + opennurbs_pluginlist.cpp + opennurbs_point.cpp + opennurbs_pointcloud.cpp + opennurbs_pointgeometry.cpp + opennurbs_pointgrid.cpp + opennurbs_polycurve.cpp + opennurbs_polyline.cpp + opennurbs_polylinecurve.cpp + opennurbs_revsurface.cpp + opennurbs_sphere.cpp + opennurbs_string.cpp + opennurbs_sum.cpp + opennurbs_sumsurface.cpp + opennurbs_surface.cpp + opennurbs_surfaceproxy.cpp + opennurbs_textlog.cpp + opennurbs_torus.cpp + opennurbs_userdata.cpp + opennurbs_uuid.cpp + opennurbs_viewport.cpp + opennurbs_workspace.cpp + opennurbs_wstring.cpp + opennurbs_xform.cpp + opennurbs_zlib.cpp +) + +set(OPENNURBS_LINKLIBRARIES + libz +) + +include_directories( + ../../../include + ../libz +) + +add_definitions( + -DON_COMPILING_OPENNURBS + -DON_DLL_EXPORTS +) + +if(MSVC) + add_definitions( + -DUNICODE + ) + + set(OPENNURBS_LINKLIBRARIES + ${OPENNURBS_LINKLIBRARIES} + Rpcrt4 + ) +endif(MSVC) + +add_library(openNURBS SHARED ${OPENNURBS_SOURCES}) + +target_link_libraries(openNURBS ${OPENNURBS_LINKLIBRARIES}) + +set_property(TARGET openNURBS PROPERTY LINK_INTERFACE_LIBRARIES "") diff --git a/src/other/tcl/generic/CMakeLists.txt b/src/other/tcl/generic/CMakeLists.txt index e69de29bb2d..c89864ac4da 100644 --- a/src/other/tcl/generic/CMakeLists.txt +++ b/src/other/tcl/generic/CMakeLists.txt @@ -0,0 +1,73 @@ +set(TCL_GENERIC_SOURCES + generic/regcomp.c + generic/regexec.c + generic/regfree.c + generic/regerror.c + generic/tclAlloc.c + generic/tclAsync.c + generic/tclBasic.c + generic/tclBinary.c + generic/tclCkalloc.c + generic/tclClock.c + generic/tclCmdAH.c + generic/tclCmdIL.c + generic/tclCmdMZ.c + generic/tclCompCmds.c + generic/tclCompExpr.c + generic/tclCompile.c + generic/tclConfig.c + generic/tclDate.c + generic/tclDictObj.c + generic/tclEncoding.c + generic/tclEnv.c + generic/tclEvent.c + generic/tclExecute.c + generic/tclFCmd.c + generic/tclFileName.c + generic/tclGet.c + generic/tclHash.c + generic/tclHistory.c + generic/tclIndexObj.c + generic/tclInterp.c + generic/tclIO.c + generic/tclIOCmd.c + generic/tclIOGT.c + generic/tclIORChan.c + generic/tclIOSock.c + generic/tclIOUtil.c + generic/tclLink.c + generic/tclLiteral.c + generic/tclListObj.c + generic/tclLoad.c + generic/tclMain.c + generic/tclNamesp.c + generic/tclNotify.c + generic/tclObj.c + generic/tclPanic.c + generic/tclParse.c + generic/tclPathObj.c + generic/tclPipe.c + generic/tclPkg.c + generic/tclPkgConfig.c + generic/tclPosixStr.c + generic/tclPreserve.c + generic/tclProc.c + generic/tclRegexp.c + generic/tclResolve.c + generic/tclResult.c + generic/tclScan.c + generic/tclStringObj.c + generic/tclStrToD.c + generic/tclStubInit.c + generic/tclStubLib.c + generic/tclThread.c + generic/tclThreadAlloc.c + generic/tclThreadJoin.c + generic/tclThreadStorage.c + generic/tclTimer.c + generic/tclTomMathInterface.c + generic/tclTrace.c + generic/tclUtf.c + generic/tclUtil.c + generic/tclVar.c +) diff --git a/src/other/tcl/libtommath/CMakeLists.txt b/src/other/tcl/libtommath/CMakeLists.txt index e69de29bb2d..46a77cca86e 100644 --- a/src/other/tcl/libtommath/CMakeLists.txt +++ b/src/other/tcl/libtommath/CMakeLists.txt @@ -0,0 +1,63 @@ +set(TCL_LIBTOMMATH_SOURCES + libtommath/bncore.c + libtommath/bn_reverse.c + libtommath/bn_fast_s_mp_mul_digs.c + libtommath/bn_fast_s_mp_sqr.c + libtommath/bn_mp_add.c + libtommath/bn_mp_add_d.c + libtommath/bn_mp_and.c + libtommath/bn_mp_clamp.c + libtommath/bn_mp_clear.c + libtommath/bn_mp_clear_multi.c + libtommath/bn_mp_cmp.c + libtommath/bn_mp_cmp_d.c + libtommath/bn_mp_cmp_mag.c + libtommath/bn_mp_copy.c + libtommath/bn_mp_count_bits.c + libtommath/bn_mp_div.c + libtommath/bn_mp_div_d.c + libtommath/bn_mp_div_2.c + libtommath/bn_mp_div_2d.c + libtommath/bn_mp_div_3.c + libtommath/bn_mp_exch.c + libtommath/bn_mp_expt_d.c + libtommath/bn_mp_grow.c + libtommath/bn_mp_init.c + libtommath/bn_mp_init_copy.c + libtommath/bn_mp_init_multi.c + libtommath/bn_mp_init_set.c + libtommath/bn_mp_init_size.c + libtommath/bn_mp_karatsuba_mul.c + libtommath/bn_mp_karatsuba_sqr.c + libtommath/bn_mp_lshd.c + libtommath/bn_mp_mod.c + libtommath/bn_mp_mod_2d.c + libtommath/bn_mp_mul.c + libtommath/bn_mp_mul_2.c + libtommath/bn_mp_mul_2d.c + libtommath/bn_mp_mul_d.c + libtommath/bn_mp_neg.c + libtommath/bn_mp_or.c + libtommath/bn_mp_radix_size.c + libtommath/bn_mp_radix_smap.c + libtommath/bn_mp_read_radix.c + libtommath/bn_mp_rshd.c + libtommath/bn_mp_set.c + libtommath/bn_mp_shrink.c + libtommath/bn_mp_sqr.c + libtommath/bn_mp_sqrt.c + libtommath/bn_mp_sub.c + libtommath/bn_mp_sub_d.c + libtommath/bn_mp_to_unsigned_bin.c + libtommath/bn_mp_to_unsigned_bin_n.c + libtommath/bn_mp_toom_mul.c + libtommath/bn_mp_toom_sqr.c + libtommath/bn_mp_toradix_n.c + libtommath/bn_mp_unsigned_bin_size.c + libtommath/bn_mp_xor.c + libtommath/bn_mp_zero.c + libtommath/bn_s_mp_add.c + libtommath/bn_s_mp_mul_digs.c + libtommath/bn_s_mp_sqr.c + libtommath/bn_s_mp_sub.c +) diff --git a/src/other/tcl/win/CMakeLists.txt b/src/other/tcl/win/CMakeLists.txt index e69de29bb2d..2b0540198c5 100644 --- a/src/other/tcl/win/CMakeLists.txt +++ b/src/other/tcl/win/CMakeLists.txt @@ -0,0 +1,17 @@ +set(TCL_WIN_SOURCES + win/tclWin32Dll.c + win/tclWinChan.c + win/tclWinConsole.c + win/tclWinSerial.c + win/tclWinError.c + win/tclWinFCmd.c + win/tclWinFile.c + win/tclWinInit.c + win/tclWinLoad.c + win/tclWinNotify.c + win/tclWinPipe.c + win/tclWinSock.c + win/tclWinThrd.c + win/tclWinTime.c + win/tcl.rc +)